exonum-client-ruby 0.0.2 → 0.0.3

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: d36a7b3d7326dfd340b7fe57359f9a1108085dcfe9ca321b6df76e5fa683e2e7
4
- data.tar.gz: 3f55e725815ef517cf2ded1ed3c8169799f6e129866acf7a310d55bd8d9db08f
3
+ metadata.gz: b5f09148cf3cdd376e17a968013f2c80be217c6a10bfc05d3e63fff08207d4ae
4
+ data.tar.gz: 6beb7ecac0cf1b62ee0878e2bc26cd95b666910c3fae2624140ca323f15f70af
5
5
  SHA512:
6
- metadata.gz: 226eaf5744c50639be204c53865d2ed3b263dc07152af6c909d60c56974fc715706a3c1c38be2e3295df4e628b05029c183f9d04b6d9e8aeca68344bdd90cf73
7
- data.tar.gz: 1e2ba10868bc82cf0dd89e41bd8956ed078e25f979e7e82a88825de3ba376d076df17217d6b6de315dd3a1adf52c4148f1b42b7bd83971cd05d26bdaf3bf641f
6
+ metadata.gz: 41c00f879148471bfd767f476be2c58eeeddd922c6024bef4f1a41941a1607292000ce761afc252ead039abed6a16cf6b89172c9a367e8998f30acb4c9b21fff
7
+ data.tar.gz: 83643a3efd135ac4f46553fdc71333ebf020662b8fa4b33b16ffa8118b8419324ec84ebaf74c144e1d136ddb3cb6837ab83246d2e1fece88a37db916f9751ca0
data/README.md CHANGED
@@ -8,30 +8,37 @@ Pre alpha
8
8
 
9
9
  ## Usage
10
10
 
11
- Signing a message:
12
-
13
- # Ed25519 private key in hex
14
- secret = '867103771411a6d8e14dd2b037bb5b57ab0add4debdc39147f9d2eae342a388d29823166d18e2471a19b16d261fe329f1228048846c1acea2f370e6a89c7a4d9'
15
- # Message params template
16
- fields = [
17
- { name: 'pub_key', type: Exonum::PublicKeyT.new },
18
- { name: 'amount', type: Exonum::UInt64T.new },
19
- { name: 'seed', type: Exonum::UInt64T.new }
20
- ]
21
-
22
- # Message params values
11
+ Posting a transaction:
12
+
13
+ require 'exonum'
14
+ require 'rest_client'
15
+
16
+ keypair = Exonum::Random.generate_keypair
17
+
18
+ message = Exonum::MessageT.new 0, 2, 128, Exonum::StructT.new([
19
+ { name: 'pub_key', type: Exonum::PublicKeyT },
20
+ { name: 'name', type: Exonum::StringT }
21
+ ])
22
+
23
23
  data = {
24
- 'pub_key' => "29823166d18e2471a19b16d261fe329f1228048846c1acea2f370e6a89c7a4d9",
25
- 'amount' => 10,
26
- 'seed' => 4645085842425400387
24
+ pub_key: keypair[:public],
25
+ name: 'John Doe'
27
26
  }
28
27
 
29
- # protocol_version: 0, message_id: 1, service_id: 128
30
- message = Exonum::MessageT.new 0, 1, 128, Exonum::StructT.new(fields)
28
+ signature = message.sign "#{keypair[:private]}#{keypair[:public]}", data
29
+
30
+ JSON.parse RestClient.post(
31
+ 'http://127.0.0.1:8200/api/services/cryptocurrency/v1/wallets/transaction',
32
+ {
33
+ protocol_version: 0,
34
+ message_id: 2,
35
+ service_id: 128,
36
+ signature: signature,
37
+ body: data
38
+ }.to_json,
39
+ {content_type: :json, accept: :json}
40
+ )
31
41
 
32
- # get ed25519 signature in hex
33
- # 46386a5ef9ad0ac5d1e2fe509e3e3bfa27f4f0d376628169df76b5c02f77f8699ed966031a42bbc1a94002c4ec666f4e7d143a481e19eee306a2dfd8280c3d0e
34
- message.sign(secret, data)
35
42
 
36
43
  ## Contributing
37
44
 
@@ -32,7 +32,7 @@ module Exonum
32
32
  localShift = 0
33
33
  fields.each do |field|
34
34
  value = data.with_indifferent_access[field[:name]]
35
- raise "Field #{field[:name]} is not defined" unless value.present?
35
+ raise "Field #{field[:name]} is not defined" if value.nil?
36
36
  localFrom = from + localShift
37
37
  nestedShift = isTransactionBody ? 0 : shift
38
38
  if field[:type].is_a?(StructT)
@@ -1,4 +1,4 @@
1
1
  module Exonum
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exonum-client-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuri Gomozov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-09 00:00:00.000000000 Z
11
+ date: 2018-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ed25519