radiator 0.4.6 → 0.4.8

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.
Files changed (121) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +27 -12
  3. data/Rakefile +53 -23
  4. data/lib/radiator.rb +3 -1
  5. data/lib/radiator/api.rb +111 -16
  6. data/lib/radiator/bridge.rb +34 -0
  7. data/lib/radiator/broadcast_operations.json +7 -7
  8. data/lib/radiator/chain.rb +1 -1
  9. data/lib/radiator/chain_config.rb +9 -2
  10. data/lib/radiator/database_api.rb +1 -1
  11. data/lib/radiator/error_parser.rb +1 -1
  12. data/lib/radiator/follow_api.rb +1 -1
  13. data/lib/radiator/market_history_api.rb +1 -1
  14. data/lib/radiator/mixins/acts_as_poster.rb +4 -4
  15. data/lib/radiator/operation.rb +3 -2
  16. data/lib/radiator/operation_types.rb +43 -27
  17. data/lib/radiator/ssc/base_steem_smart_contract_rpc.rb +1 -1
  18. data/lib/radiator/stream.rb +21 -8
  19. data/lib/radiator/transaction.rb +43 -3
  20. data/lib/radiator/type/amount.rb +8 -50
  21. data/lib/radiator/type/beneficiaries.rb +8 -1
  22. data/lib/radiator/type/price.rb +2 -2
  23. data/lib/radiator/version.rb +1 -1
  24. data/radiator.gemspec +17 -13
  25. data/test/fixtures/empty.json +1 -0
  26. data/test/fixtures/error.json +29 -0
  27. data/test/fixtures/follow_api_get_followers.json +1 -0
  28. data/test/fixtures/get_account.json +165 -0
  29. data/test/fixtures/get_account_count.json +1 -0
  30. data/test/fixtures/get_account_references.json +1 -0
  31. data/test/fixtures/get_block.json +193 -0
  32. data/test/fixtures/get_dynamic_global_properties.json +32 -0
  33. data/test/fixtures/get_feed_history.json +684 -0
  34. data/test/fixtures/get_hardfork_version.json +1 -0
  35. data/test/fixtures/get_key_references.json +14 -0
  36. data/test/fixtures/get_stats_for_time.json +57 -0
  37. data/test/fixtures/get_vesting_delegation.json +936 -0
  38. data/test/fixtures/golos_get_dynamic_global_properties.json +32 -0
  39. data/test/fixtures/market_history_api_get_market_history_buckets.json +1 -0
  40. data/test/fixtures/market_history_api_get_order_book.json +109 -0
  41. data/test/fixtures/market_history_api_get_recent_trades.json +55 -0
  42. data/test/fixtures/market_history_api_get_ticker.json +11 -0
  43. data/test/fixtures/market_history_api_get_volume.json +1 -0
  44. data/test/fixtures/null.json +1 -0
  45. data/test/fixtures/vcr_cassettes/account_by_key_api_all_methods.yml +1465 -0
  46. data/test/fixtures/vcr_cassettes/account_by_key_api_jsonrpc.yml +199 -0
  47. data/test/fixtures/vcr_cassettes/api_all_methods.yml +13802 -0
  48. data/test/fixtures/vcr_cassettes/api_jsonrpc.yml +53 -0
  49. data/test/fixtures/vcr_cassettes/base_per_debt.yml +11068 -0
  50. data/test/fixtures/vcr_cassettes/base_per_mvest.yml +6024 -0
  51. data/test/fixtures/vcr_cassettes/block_time.yml +5368 -0
  52. data/test/fixtures/vcr_cassettes/broadcast_transaction.yml +1723 -0
  53. data/test/fixtures/vcr_cassettes/chain_stats_api_jsonrpc.yml +51 -0
  54. data/test/fixtures/vcr_cassettes/condenser_all_all_methods.yml +13770 -0
  55. data/test/fixtures/vcr_cassettes/condenser_api_jsonrpc.yml +103 -0
  56. data/test/fixtures/vcr_cassettes/expiration_initialize.yml +16108 -0
  57. data/test/fixtures/vcr_cassettes/find_account.yml +5732 -0
  58. data/test/fixtures/vcr_cassettes/find_block.yml +5322 -0
  59. data/test/fixtures/vcr_cassettes/find_comment.yml +16386 -0
  60. data/test/fixtures/vcr_cassettes/follow_api_jsonrpc.yml +99 -0
  61. data/test/fixtures/vcr_cassettes/get_account_count.yml +783 -0
  62. data/test/fixtures/vcr_cassettes/get_account_references.yml +773 -0
  63. data/test/fixtures/vcr_cassettes/get_accounts.yml +918 -0
  64. data/test/fixtures/vcr_cassettes/get_accounts_no_argument.yml +773 -0
  65. data/test/fixtures/vcr_cassettes/get_dynamic_global_properties.yml +893 -0
  66. data/test/fixtures/vcr_cassettes/get_feed_history.yml +1432 -0
  67. data/test/fixtures/vcr_cassettes/get_hardfork_version.yml +835 -0
  68. data/test/fixtures/vcr_cassettes/get_key_references.yml +1571 -0
  69. data/test/fixtures/vcr_cassettes/get_market_history.yml +1563 -0
  70. data/test/fixtures/vcr_cassettes/get_market_history_buckets.yml +1665 -0
  71. data/test/fixtures/vcr_cassettes/get_order_book.yml +1459 -0
  72. data/test/fixtures/vcr_cassettes/get_recent_trades.yml +1459 -0
  73. data/test/fixtures/vcr_cassettes/get_ticker.yml +1563 -0
  74. data/test/fixtures/vcr_cassettes/get_trade_history.yml +1459 -0
  75. data/test/fixtures/vcr_cassettes/get_vesting_delegations.yml +731 -0
  76. data/test/fixtures/vcr_cassettes/get_volume.yml +1561 -0
  77. data/test/fixtures/vcr_cassettes/get_witness_by_account.yml +835 -0
  78. data/test/fixtures/vcr_cassettes/look_up_witnesses.yml +831 -0
  79. data/test/fixtures/vcr_cassettes/market_history_api_all_methods.yml +10191 -0
  80. data/test/fixtures/vcr_cassettes/market_history_api_jsonrpc.yml +51 -0
  81. data/test/fixtures/vcr_cassettes/network_broadcast_api_all_methods.yml +2455 -0
  82. data/test/fixtures/vcr_cassettes/network_broadcast_api_jsonrpc.yml +51 -0
  83. data/test/fixtures/vcr_cassettes/properties.yml +5551 -0
  84. data/test/fixtures/vcr_cassettes/recover_transaction.yml +1815 -0
  85. data/test/fixtures/vcr_cassettes/ssc_blockchain_block_info.yml +90 -0
  86. data/test/fixtures/vcr_cassettes/ssc_blockchain_block_info_invalid.yml +88 -0
  87. data/test/fixtures/vcr_cassettes/ssc_blockchain_latest_block_info.yml +90 -0
  88. data/test/fixtures/vcr_cassettes/ssc_blockchain_transaction_info.yml +90 -0
  89. data/test/fixtures/vcr_cassettes/ssc_contracts_contract.yml +364 -0
  90. data/test/fixtures/vcr_cassettes/ssc_contracts_find.yml +89 -0
  91. data/test/fixtures/vcr_cassettes/ssc_contracts_find_one.yml +87 -0
  92. data/test/fixtures/vcr_cassettes/stream_jsonrpc.yml +27502 -0
  93. data/test/fixtures/vcr_cassettes/tag_api_jsonrpc.yml +155 -0
  94. data/test/fixtures/vcr_cassettes/transaction_expiration_initialize_nil.yml +17597 -0
  95. data/test/fixtures/vcr_cassettes/transaction_jsonrpc.yml +61 -0
  96. data/test/fixtures/vcr_cassettes/unknown_chain_id.yml +13038 -0
  97. data/test/fixtures/vcr_cassettes/valid_chains.yml +11450 -0
  98. data/test/radiator/account_by_key_api_test.rb +46 -0
  99. data/test/radiator/api_test.rb +135 -0
  100. data/test/radiator/chain_stats_api_test.rb +49 -0
  101. data/test/radiator/chain_test.rb +153 -0
  102. data/test/radiator/condenser_api_test.rb +48 -0
  103. data/test/radiator/follow_api_test.rb +48 -0
  104. data/test/radiator/market_history_api_test.rb +100 -0
  105. data/test/radiator/network_broadcast_api_test.rb +48 -0
  106. data/test/radiator/operation_test.rb +116 -0
  107. data/test/radiator/ssc/blockchain_test.rb +58 -0
  108. data/test/radiator/ssc/contracts_test.rb +65 -0
  109. data/test/radiator/stream_test.rb +48 -0
  110. data/test/radiator/tag_api_test.rb +40 -0
  111. data/test/radiator/transaction_test.rb +755 -0
  112. data/test/test_helper.rb +66 -0
  113. metadata +187 -79
  114. data/.codeclimate.yml +0 -19
  115. data/.gitignore +0 -52
  116. data/.travis.yml +0 -23
  117. data/gource.sh +0 -8
  118. data/images/Anthony Martin.png +0 -0
  119. data/images/Marvin Hofmann.jpg +0 -0
  120. data/images/Marvin Hofmann.png +0 -0
  121. data/lib/steem.rb +0 -17
@@ -25,10 +25,10 @@ module Radiator
25
25
  end
26
26
  end
27
27
 
28
- @chain ||= :steem
28
+ @url = options[:url] || url
29
+ @chain ||= 'hive'
29
30
  @chain = @chain.to_sym
30
31
  @chain_id = chain_id options[:chain_id]
31
- @url = options[:url] || url
32
32
  @operations = options[:operations] || []
33
33
 
34
34
  @self_logger = false
@@ -81,6 +81,11 @@ module Radiator
81
81
 
82
82
  case chain.to_s.downcase.to_sym
83
83
  when :steem then NETWORKS_STEEM_CHAIN_ID
84
+ when :hive
85
+ database_api = Hive::DatabaseApi.new(url: @url)
86
+ database_api.get_config do |config|
87
+ config['HIVE_CHAIN_ID']
88
+ end rescue nil || NETWORKS_HIVE_CHAIN_ID
84
89
  when :test then NETWORKS_TEST_CHAIN_ID
85
90
  end
86
91
  end
@@ -88,6 +93,7 @@ module Radiator
88
93
  def url
89
94
  case chain.to_s.downcase.to_sym
90
95
  when :steem then NETWORKS_STEEM_DEFAULT_NODE
96
+ when :hive then NETWORKS_HIVE_DEFAULT_NODE
91
97
  when :test then NETWORKS_TEST_DEFAULT_NODE
92
98
  end
93
99
  end
@@ -114,6 +120,26 @@ module Radiator
114
120
  else
115
121
  self
116
122
  end
123
+ rescue OperationError => e
124
+ trx_builder, network_api = case @chain.to_sym
125
+ when :steem then [
126
+ Steem::TransactionBuilder.new(wif: @wif),
127
+ Steem::NetworkBroadcastApi.new(url: @url)
128
+ ]
129
+ when :hive then [
130
+ Hive::TransactionBuilder.new(wif: @wif),
131
+ Hive::NetworkBroadcastApi.new(url: @url)
132
+ ]
133
+ end
134
+
135
+ raise e if trx_builder.nil?
136
+
137
+ @operations.each do |op|
138
+ type = op.delete(:type)
139
+ trx_builder.put({type => op})
140
+ end
141
+
142
+ network_api.broadcast_transaction_synchronous(trx_builder.transaction)
117
143
  ensure
118
144
  shutdown
119
145
  end
@@ -122,7 +148,7 @@ module Radiator
122
148
  @operations = @operations.map do |op|
123
149
  case op
124
150
  when Operation then op
125
- else; Operation.new(op)
151
+ else; Operation.new(op.merge(chain: @chain))
126
152
  end
127
153
  end
128
154
  end
@@ -147,6 +173,19 @@ module Radiator
147
173
  def use_condenser_namespace?
148
174
  !!@use_condenser_namespace
149
175
  end
176
+
177
+ def inspect
178
+ properties = %w(
179
+ url ref_block_num ref_block_prefix expiration chain
180
+ use_condenser_namespace immutable_expiration payload
181
+ ).map do |prop|
182
+ if !!(v = instance_variable_get("@#{prop}"))
183
+ "@#{prop}=#{v}"
184
+ end
185
+ end.compact.join(', ')
186
+
187
+ "#<#{self.class.name} [#{properties}]>"
188
+ end
150
189
  private
151
190
  def broadcast_payload(payload)
152
191
  if use_condenser_namespace?
@@ -238,6 +277,7 @@ module Radiator
238
277
  bytes << op.to_bytes
239
278
  end
240
279
 
280
+ # FIXME Should pakC(0) instead?
241
281
  bytes << 0x00 # extensions
242
282
 
243
283
  bytes
@@ -1,57 +1,15 @@
1
+ # @deprecated Using Radiator::Type::Amount class provided is deprecated. Please use: Hive::Type::Amount
1
2
  module Radiator
2
3
  module Type
3
-
4
- # See: https://github.com/xeroc/piston-lib/blob/34a7525cee119ec9b24a99577ede2d54466fca0e/steembase/operations.py
5
- class Amount < Serializer
6
- def initialize(value)
7
- super(:amount, value)
8
-
9
- case value
10
- when ::Array
11
- a, p, t = value
12
- @asset = case t
13
- when '@@000000013' then 'SBD'
14
- when '@@000000021' then 'STEEM'
15
- when '@@000000037' then 'VESTS'
16
- else; raise TypeError, "Asset #{@asset} unknown."
17
- end
18
- @precision = p
19
- @amount = "%.#{p}f" % (a.to_f / 10 ** p)
20
- else
21
- @amount, @asset = value.strip.split(' ')
22
- @precision = case @asset
23
- when 'STEEM' then 3
24
- when 'VESTS' then 6
25
- when 'SBD' then 3
26
- when 'CORE' then 3
27
- when 'CESTS' then 6
28
- when 'TEST' then 3
29
- else; raise TypeError, "Asset #{@asset} unknown."
30
- end
4
+ class Amount < Hive::Type::Amount
5
+ def initialize(options = {})
6
+ unless defined? @@deprecated_warning_shown
7
+ warn "[DEPRECATED] Using Radiator::Type::Amount class provided is deprecated. Please use: Hive::Type::Amount"
8
+ @@deprecated_warning_shown = true
9
+
10
+ super(options.merge(chain: :hive))
31
11
  end
32
12
  end
33
-
34
- def to_bytes
35
- asset = @asset.ljust(7, "\x00")
36
- amount = (@amount.to_f * 10 ** @precision).round
37
-
38
- [amount].pack('q') +
39
- [@precision].pack('c') +
40
- asset
41
- end
42
-
43
- def to_a
44
- case @asset
45
- when 'STEEM' then [(@amount.to_f * 1000).to_i.to_s, 3, '@@000000021']
46
- when 'VESTS' then [(@amount.to_f * 1000000).to_i.to_s, 6, '@@000000037']
47
- when 'SBD' then [(@amount.to_f * 1000).to_i.to_s, 3, '@@000000013']
48
- else; raise TypeError, "Asset #{@asset} unknown."
49
- end
50
- end
51
-
52
- def to_s
53
- "#{@amount} #{@asset}"
54
- end
55
13
  end
56
14
  end
57
15
  end
@@ -7,7 +7,14 @@ module Radiator
7
7
  end
8
8
 
9
9
  def to_bytes
10
- pakArr([]) + pakHash(@value)
10
+ #set sz 1, op type 0, see
11
+ #https://github.com/steemit/steem-js/blob/733332d09582e95c0ea868a6ac5b6ee8a1f115ee/src/auth/serializer/src/operations.js#L355
12
+ varint(1) + varint(0) + varint(@value.size) + @value.map do |b|
13
+ case b
14
+ when ::Array then pakStr(b.first.to_s) + pakS(b.last)
15
+ else; pakStr(b.keys.first.to_s) + pakS(b.values.first)
16
+ end
17
+ end.join
11
18
  end
12
19
 
13
20
  def to_h
@@ -5,8 +5,8 @@ module Radiator
5
5
  def initialize(value)
6
6
  super(:price, value)
7
7
 
8
- @base = Amount.new(@value[:base])
9
- @quote = Amount.new(@value[:quote])
8
+ @base = Hive::Type::Amount.new(@value[:base])
9
+ @quote = Hive::Type::Amount.new(@value[:quote])
10
10
  end
11
11
 
12
12
  def to_bytes
@@ -1,4 +1,4 @@
1
1
  module Radiator
2
- VERSION = '0.4.6'
2
+ VERSION = '0.4.8'
3
3
  AGENT_ID = "radiator/#{VERSION}"
4
4
  end
@@ -9,34 +9,38 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ['Anthony Martin']
10
10
  spec.email = ['radiator@martin-studio.com']
11
11
 
12
- spec.summary = %q{STEEM RPC Ruby Client}
13
- spec.description = %q{Client for accessing the STEEM blockchain.}
12
+ spec.summary = %q{Hive/Steem RPC Ruby Client}
13
+ spec.description = %q{Client for accessing the Hive/Steem blockchain.}
14
14
  spec.homepage = 'https://github.com/inertia186/radiator'
15
15
  spec.license = 'CC0-1.0'
16
16
 
17
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test)/}) }
17
+ spec.files = Dir['lib/**/*', 'test/**/*', 'Gemfile', 'LICENSE', 'Rakefile', 'README.md', 'radiator.gemspec']
18
18
  spec.require_paths = ['lib']
19
19
 
20
20
  spec.add_development_dependency 'bundler', '~> 2.0', '>= 2.0.1'
21
- spec.add_development_dependency 'rake', '~> 12.1', '>= 12.1.0'
21
+ spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.1'
22
22
  spec.add_development_dependency 'minitest', '~> 5.10', '>= 5.10.3'
23
23
  spec.add_development_dependency 'minitest-line', '~> 0.6.3'
24
24
  spec.add_development_dependency 'minitest-proveit', '~> 1.0', '>= 1.0.0'
25
- spec.add_development_dependency 'webmock', '~> 3.1', '>= 3.1.0'
26
- spec.add_development_dependency 'simplecov', '~> 0.16.1'
27
- spec.add_development_dependency 'vcr', '~> 4.0', '>= 4.0.0'
28
- spec.add_development_dependency 'yard', '~> 0.9.9'
25
+ spec.add_development_dependency 'webmock', '~> 3.6', '>= 3.6.0'
26
+ spec.add_development_dependency 'simplecov', '~> 0.19.0'
27
+ spec.add_development_dependency 'vcr', '~> 6.0', '>= 6.0.0'
28
+ spec.add_development_dependency 'yard', '~> 0.9.20'
29
29
  spec.add_development_dependency 'pry', '~> 0.11', '>= 0.11.3'
30
30
  spec.add_development_dependency 'rb-readline', '~> 0.5', '>= 0.5.5'
31
- spec.add_development_dependency 'irb', '~> 1.0', '>= 1.0.0'
31
+ spec.add_development_dependency 'irb', '~> 1.2', '>= 1.2.1'
32
32
 
33
33
  # net-http-persistent has an open-ended dependency because radiator directly
34
- # supports net-http-persistent-3.0.0 as well as net-http-persistent-2.5.2.
34
+ # supports net-http-persistent-4.0.0 as well as net-http-persistent-2.5.2.
35
35
  spec.add_dependency('net-http-persistent', '>= 2.5.2')
36
+ spec.add_dependency('steem-ruby', '~> 0.9', '>= 0.9.5')
37
+ spec.add_dependency('hive-ruby', '~> 1.0', '>= 1.0.2')
36
38
  spec.add_dependency('json', '~> 2.0', '>= 2.0.2')
37
39
  spec.add_dependency('logging', '~> 2.2', '>= 2.2.0')
38
- spec.add_dependency('hashie', '~> 3.5', '>= 3.5.5')
39
- spec.add_dependency('bitcoin-ruby', '~> 0.0', '>= 0.0.11')
40
- spec.add_dependency('ffi', '~> 1.9', '>= 1.9.18')
40
+ # hashie is floating because we prefer 4.1 or higher, but the official
41
+ # steem-ruby-0.9.4 gem is stuck on hashie-3.5.7.
42
+ spec.add_dependency('hashie', '>= 3.5')
43
+ spec.add_dependency('bitcoin-ruby', '0.0.20') # (was 0.0.19)
44
+ spec.add_dependency('ffi', '~> 1.9', '>= 1.9.18') # (was 1.11.2)
41
45
  spec.add_dependency('awesome_print', '~> 1.7', '>= 1.7.0')
42
46
  end
@@ -0,0 +1 @@
1
+ {"id":1,"result":[]}
@@ -0,0 +1,29 @@
1
+ {
2
+ "id":1,
3
+ "error":{
4
+ "code":1,
5
+ "message":"10 assert_exception: Assert Exception\na0 != e: too few arguments passed to method\n {}\n th_a api_connection.hpp:165 call_generic",
6
+ "data":{
7
+ "code":10,
8
+ "name":"assert_exception",
9
+ "message":"Assert Exception",
10
+ "stack":[
11
+ {
12
+ "context":{
13
+ "level":"error",
14
+ "file":"api_connection.hpp",
15
+ "line":165,
16
+ "method":"call_generic",
17
+ "hostname":"",
18
+ "thread_name":"th_a",
19
+ "timestamp":"2016-08-20T18:15:07"
20
+ },
21
+ "format":"a0 != e: too few arguments passed to method",
22
+ "data":{
23
+
24
+ }
25
+ }
26
+ ]
27
+ }
28
+ }
29
+ }
@@ -0,0 +1 @@
1
+ {"id":1,"result":[{"id":"8.0.92583","follower":"a11at","following":"inertia","what":["blog"]},{"id":"8.0.39686","follower":"abarefootpoet","following":"inertia","what":["blog"]},{"id":"8.0.104952","follower":"abit","following":"inertia","what":["blog"]},{"id":"8.0.81725","follower":"alexgr","following":"inertia","what":["blog"]},{"id":"8.0.55176","follower":"alexoz","following":"inertia","what":["blog"]},{"id":"8.0.99137","follower":"andressilvera","following":"inertia","what":["blog"]},{"id":"8.0.141035","follower":"applecrisp","following":"inertia","what":["blog"]},{"id":"8.0.11607","follower":"arrowj","following":"inertia","what":["blog"]},{"id":"8.0.12425","follower":"artificial","following":"inertia","what":["blog"]},{"id":"8.0.145212","follower":"ash","following":"inertia","what":["blog"]},{"id":"8.0.12966","follower":"ausbitbank","following":"inertia","what":["blog"]},{"id":"8.0.32102","follower":"beachbum","following":"inertia","what":["blog"]},{"id":"8.0.93711","follower":"ben99","following":"inertia","what":["blog"]},{"id":"8.0.120952","follower":"benadapt","following":"inertia","what":["blog"]},{"id":"8.0.28247","follower":"bimmerhead","following":"inertia","what":["blog"]},{"id":"8.0.95505","follower":"bleepcoin","following":"inertia","what":["blog"]},{"id":"8.0.15571","follower":"bondor","following":"inertia","what":["blog"]},{"id":"8.0.57400","follower":"cashbandicoot","following":"inertia","what":["blog"]},{"id":"8.0.100127","follower":"cian.dafe","following":"inertia","what":["blog"]},{"id":"8.0.116778","follower":"condra","following":"inertia","what":["blog"]},{"id":"8.0.5965","follower":"cousteau","following":"inertia","what":["blog"]},{"id":"8.0.161981","follower":"cryptojoy.com","following":"inertia","what":["blog"]},{"id":"8.0.102614","follower":"dajohns1420","following":"inertia","what":["blog"]},{"id":"8.0.148670","follower":"davidbrogan","following":"inertia","what":["blog"]},{"id":"8.0.117953","follower":"dennygalindo","following":"inertia","what":["blog"]},{"id":"8.0.111506","follower":"digitalhound","following":"inertia","what":["blog"]},{"id":"8.0.152965","follower":"discombobulated","following":"inertia","what":["blog"]},{"id":"8.0.118278","follower":"domavila","following":"inertia","what":["blog"]},{"id":"8.0.133707","follower":"donnie","following":"inertia","what":["blog"]},{"id":"8.0.51439","follower":"e-dubby","following":"inertia","what":["blog"]},{"id":"8.0.51539","follower":"edtorrez","following":"inertia","what":["blog"]},{"id":"8.0.107246","follower":"elfremzy1985","following":"inertia","what":["blog"]},{"id":"8.0.52564","follower":"envisionva","following":"inertia","what":["blog"]},{"id":"8.0.9107","follower":"fkn","following":"inertia","what":["blog"]},{"id":"8.0.72587","follower":"forrestwillie","following":"inertia","what":["blog"]},{"id":"8.0.160223","follower":"foxxycat","following":"inertia","what":["blog"]},{"id":"8.0.150777","follower":"freshgoals","following":"inertia","what":["blog"]},{"id":"8.0.26187","follower":"future24","following":"inertia","what":["blog"]},{"id":"8.0.106860","follower":"fyrstikken","following":"inertia","what":["blog"]},{"id":"8.0.67648","follower":"gardenlady","following":"inertia","what":["blog"]},{"id":"8.0.16173","follower":"georgedonnelly","following":"inertia","what":["blog"]},{"id":"8.0.102115","follower":"gir88","following":"inertia","what":["blog"]},{"id":"8.0.24887","follower":"gonzotron","following":"inertia","what":["blog"]},{"id":"8.0.67993","follower":"greenman","following":"inertia","what":["blog"]},{"id":"8.0.133792","follower":"harand","following":"inertia","what":["blog"]},{"id":"8.0.40891","follower":"harveywoods","following":"inertia","what":["blog"]},{"id":"8.0.72866","follower":"hdphotography","following":"inertia","what":["blog"]},{"id":"8.0.154487","follower":"heretickitten","following":"inertia","what":["blog"]},{"id":"8.0.48008","follower":"inkha","following":"inertia","what":["blog"]},{"id":"8.0.129474","follower":"ivanba12","following":"inertia","what":["blog"]},{"id":"8.0.10884","follower":"jaimejean","following":"inertia","what":["blog"]},{"id":"8.0.88324","follower":"jennamarbles","following":"inertia","what":["blog"]},{"id":"8.0.80271","follower":"joelinux","following":"inertia","what":["blog"]},{"id":"8.0.91828","follower":"joseph","following":"inertia","what":["blog"]},{"id":"8.0.168035","follower":"jtstreetman","following":"inertia","what":["blog"]},{"id":"8.0.26704","follower":"juicyg","following":"inertia","what":["blog"]},{"id":"8.0.90991","follower":"kirby1","following":"inertia","what":["blog"]},{"id":"8.0.133797","follower":"klye","following":"inertia","what":["blog"]},{"id":"8.0.93961","follower":"konti","following":"inertia","what":["blog"]},{"id":"8.0.51073","follower":"kooshikoo","following":"inertia","what":["blog"]},{"id":"8.0.124737","follower":"kristina011891","following":"inertia","what":["blog"]},{"id":"8.0.78450","follower":"kryptik","following":"inertia","what":["blog"]},{"id":"8.0.73220","follower":"lapingvino","following":"inertia","what":["blog"]},{"id":"8.0.71722","follower":"liberosist","following":"inertia","what":["blog"]},{"id":"8.0.104773","follower":"lovejoy","following":"inertia","what":["blog"]},{"id":"8.0.92561","follower":"macartem","following":"inertia","what":["blog"]},{"id":"8.0.123946","follower":"malxdrakon","following":"inertia","what":["blog"]},{"id":"8.0.118475","follower":"mark-waser","following":"inertia","what":["blog"]},{"id":"8.0.51734","follower":"matherly","following":"inertia","what":["blog"]},{"id":"8.0.6855","follower":"mctiller","following":"inertia","what":["blog"]},{"id":"8.0.58118","follower":"meesterboom","following":"inertia","what":["blog"]},{"id":"8.0.90293","follower":"melawanarus","following":"inertia","what":["blog"]},{"id":"8.0.118346","follower":"mikehere","following":"inertia","what":["blog"]},{"id":"8.0.145767","follower":"mosab","following":"inertia","what":["blog"]},{"id":"8.0.7027","follower":"nastrom","following":"inertia","what":["blog"]},{"id":"8.0.95044","follower":"naturalista","following":"inertia","what":["blog"]},{"id":"8.0.51819","follower":"nexusvortex616","following":"inertia","what":["blog"]},{"id":"8.0.32354","follower":"nonlinearone","following":"inertia","what":["blog"]},{"id":"8.0.35308","follower":"patrice","following":"inertia","what":["blog"]},{"id":"8.0.143273","follower":"penguinpablo","following":"inertia","what":["blog"]},{"id":"8.0.51014","follower":"pjheinz","following":"inertia","what":["blog"]},{"id":"8.0.145072","follower":"politicasan2","following":"inertia","what":["blog"]},{"id":"8.0.90973","follower":"powmonkey","following":"inertia","what":["blog"]},{"id":"8.0.35805","follower":"randyclemens","following":"inertia","what":["blog"]},{"id":"8.0.53874","follower":"razvanelulmarin","following":"inertia","what":["blog"]},{"id":"8.0.78276","follower":"repholder","following":"inertia","what":["blog"]},{"id":"8.0.9005","follower":"ridji","following":"inertia","what":["blog"]},{"id":"8.0.150998","follower":"rook","following":"inertia","what":["blog"]},{"id":"8.0.102282","follower":"royaltiffany","following":"inertia","what":["blog"]},{"id":"8.0.70032","follower":"samupaha","following":"inertia","what":["blog"]},{"id":"8.0.5660","follower":"seb","following":"inertia","what":["blog"]},{"id":"8.0.87906","follower":"shadowspub","following":"inertia","what":["blog"]},{"id":"8.0.116079","follower":"skapaneas","following":"inertia","what":["blog"]},{"id":"8.0.163256","follower":"skyefox","following":"inertia","what":["blog"]},{"id":"8.0.106050","follower":"spookypooky","following":"inertia","what":["blog"]},{"id":"8.0.50974","follower":"steemitqa","following":"inertia","what":["blog"]},{"id":"8.0.79981","follower":"steemlinks","following":"inertia","what":["blog"]},{"id":"8.0.137698","follower":"steemreporter","following":"inertia","what":["blog"]},{"id":"8.0.78917","follower":"steemychicken1","following":"inertia","what":["blog"]},{"id":"8.0.82309","follower":"steemzine","following":"inertia","what":["blog"]}]}
@@ -0,0 +1,165 @@
1
+ {
2
+ "id":1,
3
+ "result":[
4
+ {
5
+ "id":19155,
6
+ "name":"inertia",
7
+ "owner":{
8
+ "weight_threshold":1,
9
+ "account_auths":[
10
+
11
+ ],
12
+ "key_auths":[
13
+ [
14
+ "STM7T5DRhNkp5RpiFrarPfLGXEnU6yk5jLFokfmyJThgRwtLpJuKM",
15
+ 1
16
+ ]
17
+ ]
18
+ },
19
+ "active":{
20
+ "weight_threshold":1,
21
+ "account_auths":[
22
+
23
+ ],
24
+ "key_auths":[
25
+ [
26
+ "STM8Vj2LTHrZabhxsMDfWnquBf7212YRBpkjEmhGEQ9JQpEUtcr6P",
27
+ 1
28
+ ]
29
+ ]
30
+ },
31
+ "posting":{
32
+ "weight_threshold":1,
33
+ "account_auths":[
34
+ [
35
+ "streemian",
36
+ 1
37
+ ]
38
+ ],
39
+ "key_auths":[
40
+ [
41
+ "STM5iR38ZUVWhrsSsggfCwhetnffJkDZ6b1Px9XiG4woF4DxrwVHj",
42
+ 1
43
+ ]
44
+ ]
45
+ },
46
+ "memo_key":"STM6hNw2oxZLAERBBArbLkgquM2mtpiGZoJ49Ya5267NzpoSs4NrT",
47
+ "json_metadata":"{\"git\":{\"radiator\":{\"https\":{\"type\":\"https\",\"name\":\"radiator\",\"value\":\"https://github.com/inertia186/radiator\",\"projecturl\":\"radiator\"}}},\"squeek\":{\"profilePicture\":\"https://img1.steemit.com/0x0/http://i.imgur.com/LbTz5yg.jpg\"},\"version\":\"0.0.1\",\"profile\":{\"email\":\"steemit@martin-studio.com\",\"location\":\"California\",\"timezone\":\"-7\",\"locale\":\"en_US\",\"languages\":[\"en\"],\"profile_image\":\"https://img1.steemit.com/0x0/http://i.imgur.com/LbTz5yg.jpg\",\"cover_image\":\"https://img1.steemit.com/0x0/https://i.imgur.com/0ccC6UH.png\",\"name\":\"inertia Ⓐ³\",\"about\":\"non-guru\",\"website\":\"http://inertia.freedom-blogs.com/\"}}",
48
+ "proxy":"",
49
+ "last_owner_update":"2016-10-20T21:49:27",
50
+ "last_account_update":"2016-12-02T22:31:21",
51
+ "created":"2016-07-13T06:44:33",
52
+ "mined":false,
53
+ "owner_challenged":false,
54
+ "active_challenged":false,
55
+ "last_owner_proved":"1970-01-01T00:00:00",
56
+ "last_active_proved":"1970-01-01T00:00:00",
57
+ "recovery_account":"steem",
58
+ "last_account_recovery":"2016-07-21T05:49:33",
59
+ "reset_account":"null",
60
+ "comment_count":0,
61
+ "lifetime_vote_count":0,
62
+ "post_count":1489,
63
+ "can_vote":true,
64
+ "voting_power":9929,
65
+ "last_vote_time":"2017-04-26T15:34:21",
66
+ "balance":"0.000 STEEM",
67
+ "savings_balance":"0.000 STEEM",
68
+ "sbd_balance":"0.000 SBD",
69
+ "sbd_seconds":"10232004279",
70
+ "sbd_seconds_last_update":"2017-04-25T22:10:48",
71
+ "sbd_last_interest_payment":"2017-04-21T06:16:57",
72
+ "savings_sbd_balance":"0.000 SBD",
73
+ "savings_sbd_seconds":"6420926232",
74
+ "savings_sbd_seconds_last_update":"2016-12-22T20:28:03",
75
+ "savings_sbd_last_interest_payment":"2016-12-12T06:49:42",
76
+ "savings_withdraw_requests":0,
77
+ "reward_sbd_balance":"0.248 SBD",
78
+ "reward_steem_balance":"0.000 STEEM",
79
+ "reward_vesting_balance":"423736.309617 VESTS",
80
+ "reward_vesting_steem":"204.084 STEEM",
81
+ "vesting_shares":"51666407.059646 VESTS",
82
+ "delegated_vesting_shares":"855000.000000 VESTS",
83
+ "received_vesting_shares":"3441788.425745 VESTS",
84
+ "vesting_withdraw_rate":"0.000000 VESTS",
85
+ "next_vesting_withdrawal":"1969-12-31T23:59:59",
86
+ "withdrawn":0,
87
+ "to_withdraw":0,
88
+ "withdraw_routes":0,
89
+ "curation_rewards":878595,
90
+ "posting_rewards":10115584,
91
+ "proxied_vsf_votes":[
92
+ "9981561512772",
93
+ 0,
94
+ 0,
95
+ 0
96
+ ],
97
+ "witnesses_voted_for":27,
98
+ "average_bandwidth":272926088,
99
+ "lifetime_bandwidth":"4400517000000",
100
+ "last_bandwidth_update":"2017-03-30T14:12:48",
101
+ "average_market_bandwidth":126680736,
102
+ "last_market_bandwidth_update":"2017-03-29T16:23:42",
103
+ "last_post":"2017-04-26T05:20:42",
104
+ "last_root_post":"2017-04-25T17:48:21",
105
+ "post_bandwidth":13323,
106
+ "new_average_bandwidth":"70551028916",
107
+ "new_average_market_bandwidth":"27734050257",
108
+ "vesting_balance":"0.000 STEEM",
109
+ "reputation":"85159144509014",
110
+ "transfer_history":[
111
+
112
+ ],
113
+ "market_history":[
114
+
115
+ ],
116
+ "post_history":[
117
+
118
+ ],
119
+ "vote_history":[
120
+
121
+ ],
122
+ "other_history":[
123
+
124
+ ],
125
+ "witness_votes":[
126
+ "abit",
127
+ "anyx",
128
+ "bacchist",
129
+ "bitcoiner",
130
+ "bitcoinparadise",
131
+ "boatymcboatface",
132
+ "busy.witness",
133
+ "chainsquad.com",
134
+ "charlieshrem",
135
+ "codydeeds",
136
+ "complexring",
137
+ "furion",
138
+ "fyrst-witness",
139
+ "good-karma",
140
+ "gtg",
141
+ "jesta",
142
+ "klye",
143
+ "masteryoda",
144
+ "pfunk",
145
+ "pharesim",
146
+ "proctologic",
147
+ "riverhead",
148
+ "roadscape",
149
+ "roelandp",
150
+ "smooth.witness",
151
+ "someguy123",
152
+ "teamsteem"
153
+ ],
154
+ "tags_usage":[
155
+
156
+ ],
157
+ "guest_bloggers":[
158
+
159
+ ],
160
+ "blog_category":{
161
+
162
+ }
163
+ }
164
+ ]
165
+ }