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 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.