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 +4 -4
- data/.github/workflows/ruby.yml +50 -0
- data/Gemfile.lock +1 -1
- data/README.md +16 -10
- data/lib/sr25519/version.rb +1 -1
- data/lib/sr25519_lib.rb +4 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9331720979c05775dd52810475846df3672445cf0da2d29369981d2cfe508ff2
|
4
|
+
data.tar.gz: 685a8d5100fe6b15c2bf4d0f808812fda0e50b7d1ffc2572bef13788fb945578
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
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.
|
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
|
-
|
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
|
-
|
49
|
+
4. Encode address
|
44
50
|
```ruby
|
45
51
|
address = Address.encode(public_key.to_s)
|
46
52
|
```
|
47
53
|
|
48
|
-
|
54
|
+
5. Decode address
|
49
55
|
|
50
56
|
```ruby
|
51
57
|
address = Address.decode(address)
|
52
58
|
```
|
53
59
|
|
54
|
-
|
60
|
+
6. Sign message
|
55
61
|
|
56
62
|
```ruby
|
57
63
|
signature_result = SR25519.sign(message, keypair)
|
58
64
|
|
59
65
|
```
|
60
66
|
|
61
|
-
|
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.
|
83
|
+
1. Update to latest image
|
78
84
|
|
79
|
-
`docker pull
|
85
|
+
`docker pull uniart/sr25519:latest`
|
80
86
|
|
81
87
|
2. Run image:
|
82
88
|
|
83
|
-
`docker run -it
|
89
|
+
`docker run -it uniart/sr25519:latest bash`
|
84
90
|
|
85
91
|
This will enter the container with a linux shell opened.
|
86
92
|
|
data/lib/sr25519/version.rb
CHANGED
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.
|
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.
|
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-
|
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
|