sr25519 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93fc6ca0e55ea4d15ae49a88cb2038384901fec0a71a617a447495f63e178729
4
- data.tar.gz: affe4dfe032464e979efe50bac31ee4f09e670b979ae2e11ed12d6ea37043e38
3
+ metadata.gz: 9331720979c05775dd52810475846df3672445cf0da2d29369981d2cfe508ff2
4
+ data.tar.gz: 685a8d5100fe6b15c2bf4d0f808812fda0e50b7d1ffc2572bef13788fb945578
5
5
  SHA512:
6
- metadata.gz: 2aab04310f8565ac93f2b805df811fc9410f54605f7d461843c7763321465c169544b88eb7c49f47ddbacc681025a1848b1c0fe4a4a08704be16599407d39ffc
7
- data.tar.gz: 6a9382481ace7d5daeaa59f5cfd3acf131f9745a5bcbeb2d508b38f8f4b2c2edb89fa539356a9d0efdc57e9542d6268f04bd9e100e16cde22d53a4cfa9cfcb3f
6
+ metadata.gz: c71efd717b9d1388cdc7722b7a284140fe8b846c0a172a3c2945e18507cd53298caa0a02534a1da901e600a11b7e560d875dbe8f6ae51596ce4843010a13c7e1
7
+ data.tar.gz: 6188e1bfdb5fe02a824d01824163b3ea8b98584f49eea535c5f3e87fe02035f16b7669e534e7e958800ba4bb4ed3dbe1c9af21ac6e22688b66ab4e5d509e98ff
@@ -0,0 +1,50 @@
1
+ name: Docker
2
+
3
+ on:
4
+ push:
5
+
6
+ # Publish `v1.2.3` tags as releases.
7
+ tags:
8
+ - v*
9
+
10
+ env:
11
+ # TODO: Change variable to your image's name.
12
+ IMAGE_NAME: sr25519
13
+
14
+ jobs:
15
+
16
+ # Push image to GitHub Packages.
17
+ # See also https://docs.docker.com/docker-hub/builds/
18
+ push:
19
+ runs-on: ubuntu-latest
20
+ if: github.event_name == 'push'
21
+
22
+ steps:
23
+ - uses: actions/checkout@v2
24
+
25
+ - name: Build image
26
+ run: docker build . --file Dockerfile --tag $IMAGE_NAME
27
+
28
+ - name: Log into registry
29
+ uses: docker/login-action@v1
30
+ with:
31
+ username: ${{ secrets.DOCKER_USERNAME }}
32
+ password: ${{ secrets.DOCKER_PASSWORD }}
33
+
34
+ - name: Push image
35
+ run: |
36
+ IMAGE_ID=uniart/$IMAGE_NAME
37
+ # Change all uppercase to lowercase
38
+ IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
39
+ # Strip git ref prefix from version
40
+ VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
41
+ # Strip "v" prefix from tag name
42
+ [[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
43
+ # Use Docker `latest` tag convention
44
+ [ "$VERSION" == "master" ] && VERSION=latest
45
+ echo IMAGE_ID=$IMAGE_ID
46
+ echo VERSION=$VERSION
47
+ docker tag $IMAGE_NAME $IMAGE_ID:$VERSION
48
+ docker push $IMAGE_ID:$VERSION
49
+ docker tag $IMAGE_NAME $IMAGE_ID:latest
50
+ docker push $IMAGE_ID:latest
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sr25519 (0.1.0)
4
+ sr25519 (0.3.0)
5
5
  base58
6
6
  blake2b
7
7
 
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Sr25519
2
2
 
3
- This is a ruby libraray for Sr25519.
3
+ This is a ruby libraray for Sr25519. Use to sign and verify message.
4
4
 
5
5
  More info at: https://github.com/w3f/schnorrkel
6
6
 
@@ -22,15 +22,21 @@ Or install it yourself as:
22
22
 
23
23
  ## Usage
24
24
 
25
- 1. keypair
25
+ 1. Require ed25519.rb in your Ruby program:
26
+ ```ruby
27
+ require "sr25519"
28
+ ```
29
+
30
+ 2. Generate keypair
26
31
 
27
32
  ```ruby
28
33
  # seed is priviate key, is a hex string.
34
+ # example: SR25519.sr25519_keypair_from_seed("0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e")
29
35
  keypaire = SR25519.sr25519_keypair_from_seed(seed)
30
36
 
31
37
  ```
32
38
 
33
- 2. public_key
39
+ 3. Generate public_key
34
40
 
35
41
  ```ruby
36
42
  public_key = SR25519.get_public_key_from_seed(seed)
@@ -40,25 +46,25 @@ public_key_str = public_key.to_s
40
46
 
41
47
  ```
42
48
 
43
- 3. encode address
49
+ 4. Encode address
44
50
  ```ruby
45
51
  address = Address.encode(public_key.to_s)
46
52
  ```
47
53
 
48
- 4. decode address
54
+ 5. Decode address
49
55
 
50
56
  ```ruby
51
57
  address = Address.decode(address)
52
58
  ```
53
59
 
54
- 5. sign
60
+ 6. Sign message
55
61
 
56
62
  ```ruby
57
63
  signature_result = SR25519.sign(message, keypair)
58
64
 
59
65
  ```
60
66
 
61
- 6. verify
67
+ 7. Verify message
62
68
 
63
69
  ```ruby
64
70
  SR25519.verify(address, message, signature_result)
@@ -74,13 +80,13 @@ rspec
74
80
 
75
81
  ## Docker
76
82
 
77
- 1. update to latest image
83
+ 1. Update to latest image
78
84
 
79
- `docker pull uni-arts-chain/sr25519:latest`
85
+ `docker pull uniart/sr25519:latest`
80
86
 
81
87
  2. Run image:
82
88
 
83
- `docker run -it uni-arts-chain/sr25519:latest`
89
+ `docker run -it uniart/sr25519:latest bash`
84
90
 
85
91
  This will enter the container with a linux shell opened.
86
92
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sr25519
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.0"
5
5
  end
data/lib/sr25519_lib.rb CHANGED
@@ -94,10 +94,13 @@ class SR25519
94
94
  end
95
95
  signature_result = [signature_result].pack("H*").unpack("C*")
96
96
  sig[:String].to_ptr.write_array_of_uint8(signature_result)
97
- verify = SR25519Lib.verify(sig, msg, message.size, pk)
97
+ verify = SR25519Lib.sr25519_verify(sig, msg, message.size, pk)
98
98
  end
99
99
 
100
100
  def self.sr25519_keypair_from_seed(seed)
101
+ if seed.start_with?("0x")
102
+ seed = seed.sub(/0x/, "")
103
+ end
101
104
  seed_array = [seed].pack("H*").unpack("C*")
102
105
  seed = Seed.new
103
106
  seed[:String].to_ptr.write_array_of_uint8(seed_array)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sr25519
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - xuxh
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-28 00:00:00.000000000 Z
11
+ date: 2021-10-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -87,6 +87,7 @@ executables: []
87
87
  extensions: []
88
88
  extra_rdoc_files: []
89
89
  files:
90
+ - ".github/workflows/ruby.yml"
90
91
  - ".gitignore"
91
92
  - ".rspec"
92
93
  - CODE_OF_CONDUCT.md