hyperledger_cli 0.0.6 → 0.0.7

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
  SHA1:
3
- metadata.gz: d6b553695f7523ac8899dab3c2b7009e592c59e0
4
- data.tar.gz: 87666f87bd90fc623ec9f163967fd58f51bdc141
3
+ metadata.gz: 4d2174e7c21b489561aa6dbd1aab4b161b2c2628
4
+ data.tar.gz: 8863df31ff095d92d07238dce0b741fe9124ed9a
5
5
  SHA512:
6
- metadata.gz: c7cb6e924e5350359d266e02da95a1c5856a9fb9428d348d8d33c79db3ce0e535ebcc9c9e29029b48e3b0789d76974acc7e37695cbac400031733a8152126b44
7
- data.tar.gz: 8a69bc584622f0eae37ec1aa28fefed24e46840de4c82363dc803dc219cde4abcd9f09fb9a5bc8d9f0d019ce8c459fcdd1aa08d40a24025028b6a97915d91d7e
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]}/currencies", content_type: :json
25
+ response = RestClient.get "#{options[:server]}/ledgers", content_type: :json, accept: :json
27
26
  data = JSON.parse(response.body, symbolize_names: true)
28
- data[:currencies].each do |c| puts c[:name] end
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
- key = OpenSSL::PKey::RSA.new 2048
34
- data = { public_key: key.public_key.to_pem, name: name, url: url }
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]}/currencies", data, content_type: :json
38
- currency = JSON.parse(response.body, symbolize_names: true)[:currency]
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#{currency[:name]}"
41
- puts "url:\t#{currency[:url]}"
42
- puts "primary account code:\t#{currency[:primary_account][:code]}"
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/#{currency[:primary_account][:code]}.pem", 'w' do |io| io.write key.to_pem end
47
- open "#{ENV['HOME']}/.mintet/#{name}.pem", 'w' do |io| io.write key.to_pem end
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(currency)
71
+ def register(ledger)
71
72
  key = OpenSSL::PKey::RSA.new 2048
72
- data = { public_key: key.public_key.to_pem, currency: currency }
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, currency)
103
- data = { currency: currency, amount: amount }
103
+ def issue(amount, ledger)
104
+ data = { ledger: ledger, amount: amount }
104
105
 
105
- key = OpenSSL::PKey::RSA.new File.read("#{ENV['HOME']}/.mintet/#{currency.downcase}.pem")
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 #{currency}"
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
@@ -1,3 +1,3 @@
1
1
  module HyperledgerCli
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  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.6
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-05-28 00:00:00.000000000 Z
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.2.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.