sr25519 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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