hyperledger_cli 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/hyperledger +22 -21
- data/lib/hyperledger_cli/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d2174e7c21b489561aa6dbd1aab4b161b2c2628
|
4
|
+
data.tar.gz: 8863df31ff095d92d07238dce0b741fe9124ed9a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 209041ebc8493afb1b073b73f1756b52c7f32368b36ebed905a7b9812885e77bd0c4e3f27a66e270f6f255c09d74147e78920549e82710b1459b466ca3404361
|
7
|
+
data.tar.gz: 56c436c92c1a26e7b8f7344f81b7fbdc68fdc11d0af61a04101a812a544a795fc43689707a5954df674fc5d2e51cafb5c71d12c3438c6dfb7faf52786b78c536
|
data/bin/hyperledger
CHANGED
@@ -9,7 +9,6 @@ require 'json'
|
|
9
9
|
|
10
10
|
module ErrorPrinter
|
11
11
|
def print_error(err)
|
12
|
-
puts 'There seems to have been a problem... :-/'
|
13
12
|
puts "Error: #{err}"
|
14
13
|
errors = JSON.parse(err.response, symbolize_names: true)[:errors]
|
15
14
|
if errors
|
@@ -23,28 +22,30 @@ class Ledger < Thor
|
|
23
22
|
|
24
23
|
desc 'list', 'List all known ledgers'
|
25
24
|
def list
|
26
|
-
response = RestClient.get "#{options[:server]}/
|
25
|
+
response = RestClient.get "#{options[:server]}/ledgers", content_type: :json, accept: :json
|
27
26
|
data = JSON.parse(response.body, symbolize_names: true)
|
28
|
-
data[:
|
27
|
+
data[:ledgers].each do |c| puts c[:name] end
|
29
28
|
end
|
30
29
|
|
31
30
|
desc 'register <name> <url>', 'Registers a new ledger. The name must be unique, and the URL should contain more information about the ledger.'
|
32
31
|
def register(name, url)
|
33
|
-
|
34
|
-
|
32
|
+
ledger_key = OpenSSL::PKey::RSA.new 2048
|
33
|
+
primary_account_key = OpenSSL::PKey::RSA.new 2048
|
34
|
+
ledger_data = { public_key: ledger_key.public_key.to_pem, name: name, url: url }
|
35
|
+
primary_account_data = { public_key: primary_account_key.public_key.to_pem }
|
35
36
|
|
36
37
|
begin
|
37
|
-
response = RestClient.post "#{options[:server]}/
|
38
|
-
|
38
|
+
response = RestClient.post "#{options[:server]}/ledgers", { ledger: ledger_data, primary_account: primary_account_data }, content_type: :json, accept: :json
|
39
|
+
ledger = JSON.parse(response.body, symbolize_names: true)[:ledger]
|
39
40
|
puts 'New ledger created'
|
40
|
-
puts "name:\t#{
|
41
|
-
puts "url:\t#{
|
42
|
-
puts "primary account code:\t#{
|
41
|
+
puts "name:\t#{ledger[:name]}"
|
42
|
+
puts "url:\t#{ledger[:url]}"
|
43
|
+
puts "primary account code:\t#{ledger[:primary_account][:code]}"
|
43
44
|
|
44
45
|
# Write key
|
45
46
|
FileUtils.mkdir_p "#{ENV['HOME']}/.mintet"
|
46
|
-
open "#{ENV['HOME']}/.mintet/#{
|
47
|
-
open "#{ENV['HOME']}/.mintet/#{name}.pem", 'w' do |io| io.write
|
47
|
+
open "#{ENV['HOME']}/.mintet/#{ledger[:primary_account][:code]}.pem", 'w' do |io| io.write primary_account_key.to_pem end
|
48
|
+
open "#{ENV['HOME']}/.mintet/#{name}.pem", 'w' do |io| io.write ledger_key.to_pem end
|
48
49
|
rescue => e
|
49
50
|
print_error(e)
|
50
51
|
end
|
@@ -56,7 +57,7 @@ class Account < Thor
|
|
56
57
|
|
57
58
|
desc 'list', 'List all known accounts'
|
58
59
|
def list
|
59
|
-
response = RestClient.get "#{options[:server]}/accounts", content_type: :json
|
60
|
+
response = RestClient.get "#{options[:server]}/accounts", content_type: :json, accept: :json
|
60
61
|
data = JSON.parse(response.body, symbolize_names: true)
|
61
62
|
data[:accounts].each do |a|
|
62
63
|
a.each do |k, v|
|
@@ -67,12 +68,12 @@ class Account < Thor
|
|
67
68
|
end
|
68
69
|
|
69
70
|
desc 'register <ledger>', 'Registers a new account in <ledger>.'
|
70
|
-
def register(
|
71
|
+
def register(ledger)
|
71
72
|
key = OpenSSL::PKey::RSA.new 2048
|
72
|
-
data = { public_key: key.public_key.to_pem,
|
73
|
+
data = { public_key: key.public_key.to_pem, ledger: ledger }
|
73
74
|
|
74
75
|
begin
|
75
|
-
resp = RestClient.post "#{options.server}/accounts", data, content_type: :json
|
76
|
+
resp = RestClient.post "#{options.server}/accounts", { account: data }, content_type: :json, accept: :json
|
76
77
|
account = JSON.parse(resp.body, symbolize_names: true)[:account]
|
77
78
|
puts 'New account created'
|
78
79
|
puts "code:\t\t#{account[:code]}"
|
@@ -99,15 +100,15 @@ class Hyperledger < Thor
|
|
99
100
|
subcommand 'account', Account
|
100
101
|
|
101
102
|
desc 'issue <amount> <ledger>', 'Issue <amount> new units to <ledger>.'
|
102
|
-
def issue(amount,
|
103
|
-
data = {
|
103
|
+
def issue(amount, ledger)
|
104
|
+
data = { ledger: ledger, amount: amount }
|
104
105
|
|
105
|
-
key = OpenSSL::PKey::RSA.new File.read("#{ENV['HOME']}/.mintet/#{
|
106
|
+
key = OpenSSL::PKey::RSA.new File.read("#{ENV['HOME']}/.mintet/#{ledger.downcase}.pem")
|
106
107
|
sign = Base64.encode64 key.sign(OpenSSL::Digest::SHA256.new, data.to_json)
|
107
108
|
|
108
109
|
begin
|
109
|
-
resp = RestClient.post "#{options[:server]}/issues", { issue: data, signature: sign }, content_type: :json
|
110
|
-
puts "#{amount} new units issued to #{
|
110
|
+
resp = RestClient.post "#{options[:server]}/issues", { issue: data, signature: sign }, content_type: :json, accept: :json
|
111
|
+
puts "#{amount} new units issued to #{ledger}"
|
111
112
|
rescue => e
|
112
113
|
print_error(e)
|
113
114
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hyperledger_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel Feichtinger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
requirements: []
|
105
105
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.
|
106
|
+
rubygems_version: 2.3.0
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: A sample CLI for the Hyperledger protocol.
|