helloblock 0.0.1 → 0.0.2
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 +4 -4
- data/CHANGELOG.md +26 -0
- data/README.md +2 -0
- data/helloblock.gemspec +1 -0
- data/lib/helloblock.rb +1 -0
- data/lib/helloblock/api_interface/endpoints.rb +2 -1
- data/lib/helloblock/resources/rpc.rb +11 -0
- data/lib/helloblock/version.rb +1 -1
- data/spec/fixture/vcr_cassettes/rpc.yml +42 -0
- data/spec/integration/api_calls_work_spec.rb +13 -0
- data/spec/lib/rpc_spec.rb +15 -0
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fefb5b840f196c87db851fa8d97ff42a4008ac9f
|
4
|
+
data.tar.gz: af25f058449f8b1a971e0b858642e3caa5391b61
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e5d093d68c3d438fa592ba9e01a468cc827a0f221b02d460c984cd66fd6cafb392e7e114dc26fea8096c36d8851f77ef6b2bda26a4edff4c771e4891fe8392a
|
7
|
+
data.tar.gz: b974d8a7cde7389668c060552a9d93df3f141cfc4a77fb6d8c264605578797d7f4b8ddebad930fcc59d3d9aea97116630aee8445e6f3216a324c985af585a56c
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
Changelog
|
2
|
+
===
|
3
|
+
|
4
|
+
**Version 0.0.2**
|
5
|
+
|
6
|
+
* Add temporary support for bitcoin ruby RPC endpoint
|
7
|
+
* Add JSON dependency
|
8
|
+
* Add changelog
|
9
|
+
|
10
|
+
**Version 0.0.1**
|
11
|
+
|
12
|
+
Wrapper is fully functional for the following endpoints:
|
13
|
+
* Single address
|
14
|
+
* Batch addresses
|
15
|
+
* Unspents for single address
|
16
|
+
* Unspents for batch addresses
|
17
|
+
* Single transaction
|
18
|
+
* Batch transactions
|
19
|
+
* Transactions for an address
|
20
|
+
* Latest transactions
|
21
|
+
* Propagate a transaction
|
22
|
+
* Single block
|
23
|
+
* Latest block
|
24
|
+
* Wallet information
|
25
|
+
* Unspents from a faucet
|
26
|
+
* Withdraw from a faucet
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# HelloBlock
|
2
2
|
|
3
|
+
[](https://codeclimate.com/github/NathanielWroblewski/helloblock)
|
4
|
+
|
3
5
|
Fluent ruby wrapper for the [HelloBlock](http://www.helloblock.io) API. For a simple, non-fluent wrapper that avoids the Singleton pattern, see [helloblock-ruby](http://github.com/nathanielwroblewski/helloblock-ruby).
|
4
6
|
|
5
7
|
## Installation
|
data/helloblock.gemspec
CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency 'guard-rspec', '~> 4.2'
|
27
27
|
|
28
28
|
spec.add_runtime_dependency 'multi_json', '~> 1.9'
|
29
|
+
spec.add_runtime_dependency 'json'
|
29
30
|
spec.add_runtime_dependency 'yajl-ruby', '~> 1.2'
|
30
31
|
spec.add_runtime_dependency 'faraday_middleware', '~> 0.9'
|
31
32
|
spec.add_runtime_dependency 'rash', '~> 0.4'
|
data/lib/helloblock.rb
CHANGED
@@ -6,6 +6,7 @@ require 'helloblock/resources/transaction'
|
|
6
6
|
require 'helloblock/resources/block'
|
7
7
|
require 'helloblock/resources/wallet'
|
8
8
|
require 'helloblock/resources/faucet'
|
9
|
+
require 'helloblock/resources/rpc'
|
9
10
|
require 'helloblock/http/connection'
|
10
11
|
require 'helloblock/http/request'
|
11
12
|
require 'helloblock/configuration'
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require 'helloblock/resources/query'
|
2
|
+
require 'helloblock/api_interface/endpoints'
|
3
|
+
|
4
|
+
# this is a temporary class that exists for compatibility with bitcoin-ruby
|
5
|
+
|
6
|
+
module HelloBlock
|
7
|
+
class RPC
|
8
|
+
extend HelloBlock::Query
|
9
|
+
include HelloBlock::Endpoints
|
10
|
+
end
|
11
|
+
end
|
data/lib/helloblock/version.rb
CHANGED
@@ -0,0 +1,42 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://testnet.helloblock.io/v1/getrawtransaction?txHashes%5B0%5D=f37e6181661473c14a123cca6f0ad0ab3303d011246f1d4bb4ccf3fccef2d700&txHashes%5B1%5D=f37e6181661473c14a123cca6f0ad0ab3303d011246f1d4bb4ccf3fccef2d700
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- '*/*'
|
12
|
+
User-Agent:
|
13
|
+
- HelloBlock Gem 0.0.1
|
14
|
+
Content-Type:
|
15
|
+
- application/json; charset=UTF-8
|
16
|
+
Accept-Encoding:
|
17
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
18
|
+
response:
|
19
|
+
status:
|
20
|
+
code: 200
|
21
|
+
message: OK
|
22
|
+
headers:
|
23
|
+
Access-Control-Allow-Origin:
|
24
|
+
- '*'
|
25
|
+
Content-Type:
|
26
|
+
- application/json; charset=utf-8
|
27
|
+
Date:
|
28
|
+
- Fri, 21 Mar 2014 03:25:04 GMT
|
29
|
+
Etag:
|
30
|
+
- '"-1541430146"'
|
31
|
+
X-Powered-By:
|
32
|
+
- Express
|
33
|
+
Content-Length:
|
34
|
+
- '1130'
|
35
|
+
Connection:
|
36
|
+
- keep-alive
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: '{"status":"success","data":{"transactions":[{"txHash":"f37e6181661473c14a123cca6f0ad0ab3303d011246f1d4bb4ccf3fccef2d700","rawTxHex":"0100000001a6ff3ed4a04fdc81630172c202e5eb3fcf5acb7651a1c233a1057728db550816010000006a47304402204bcc88caaefba54dfd2c7494af1898fa85af2cd0ece2070db618a9d3711772ce02201fd92149c149ebd9451a50013ef3e197e7e701283d5c25808ef0a3f933ab33e50121025c1ad4bc312481611e783751b8fc4de830a4436c129c4b82d704e728f3a5c1a3ffffffff02905f0100000000001976a914c081d02953f84ab9cb7aff43a845afb689d0c7ed88ac403d7800000000001976a914e64bae89305148c4098b1117594f802bcfcafdab88ac00000000"},{"txHash":"f37e6181661473c14a123cca6f0ad0ab3303d011246f1d4bb4ccf3fccef2d700","rawTxHex":"0100000001a6ff3ed4a04fdc81630172c202e5eb3fcf5acb7651a1c233a1057728db550816010000006a47304402204bcc88caaefba54dfd2c7494af1898fa85af2cd0ece2070db618a9d3711772ce02201fd92149c149ebd9451a50013ef3e197e7e701283d5c25808ef0a3f933ab33e50121025c1ad4bc312481611e783751b8fc4de830a4436c129c4b82d704e728f3a5c1a3ffffffff02905f0100000000001976a914c081d02953f84ab9cb7aff43a845afb689d0c7ed88ac403d7800000000001976a914e64bae89305148c4098b1117594f802bcfcafdab88ac00000000"}]}}'
|
40
|
+
http_version:
|
41
|
+
recorded_at: Fri, 21 Mar 2014 03:25:04 GMT
|
42
|
+
recorded_with: VCR 2.8.0
|
@@ -174,3 +174,16 @@ describe HelloBlock::Faucet, '.withdraw' do
|
|
174
174
|
end
|
175
175
|
end
|
176
176
|
end
|
177
|
+
|
178
|
+
|
179
|
+
describe HelloBlock::RPC, '.where' do
|
180
|
+
let(:tx) { 'f37e6181661473c14a123cca6f0ad0ab3303d011246f1d4bb4ccf3fccef2d700' }
|
181
|
+
|
182
|
+
it 'hits a temporary api endpoint for compatibility with bitcoin ruby' do
|
183
|
+
VCR.use_cassette(:rpc) do
|
184
|
+
response = HelloBlock::RPC.where(transaction: [tx, tx])
|
185
|
+
|
186
|
+
expect(response['status']).to eq 'success'
|
187
|
+
end
|
188
|
+
end
|
189
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe HelloBlock::RPC, '.where' do
|
4
|
+
let(:tx) { 'f37e6181661473c14a123cca6f0ad0ab3303d011246f1d4bb4ccf3fccef2d700' }
|
5
|
+
before :each do
|
6
|
+
HelloBlock::RPC.inspect
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'uses a temporary api endpoint for bitcoin ruby compatibility' do
|
10
|
+
HelloBlock::RPC.where(transaction: [tx, tx])
|
11
|
+
|
12
|
+
expect(HelloBlock::RPC.query[:path]).to eq '/getrawtransaction'
|
13
|
+
expect(HelloBlock::RPC.query[:params]).to eq({ txHashes: [tx, tx]})
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: helloblock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathaniel Wroblewski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '1.9'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: json
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: yajl-ruby
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -158,6 +172,7 @@ extensions: []
|
|
158
172
|
extra_rdoc_files: []
|
159
173
|
files:
|
160
174
|
- .gitignore
|
175
|
+
- CHANGELOG.md
|
161
176
|
- Gemfile
|
162
177
|
- LICENSE.txt
|
163
178
|
- README.md
|
@@ -173,6 +188,7 @@ files:
|
|
173
188
|
- lib/helloblock/resources/block.rb
|
174
189
|
- lib/helloblock/resources/faucet.rb
|
175
190
|
- lib/helloblock/resources/query.rb
|
191
|
+
- lib/helloblock/resources/rpc.rb
|
176
192
|
- lib/helloblock/resources/transaction.rb
|
177
193
|
- lib/helloblock/resources/wallet.rb
|
178
194
|
- lib/helloblock/spec_helper.rb
|
@@ -187,6 +203,7 @@ files:
|
|
187
203
|
- spec/fixture/vcr_cassettes/latest_blocks.yml
|
188
204
|
- spec/fixture/vcr_cassettes/latest_transactions.yml
|
189
205
|
- spec/fixture/vcr_cassettes/propagate.yml
|
206
|
+
- spec/fixture/vcr_cassettes/rpc.yml
|
190
207
|
- spec/fixture/vcr_cassettes/single_address.yml
|
191
208
|
- spec/fixture/vcr_cassettes/single_address_unspents.yml
|
192
209
|
- spec/fixture/vcr_cassettes/single_block.yml
|
@@ -199,6 +216,7 @@ files:
|
|
199
216
|
- spec/lib/faucet_spec.rb
|
200
217
|
- spec/lib/helloblock_spec.rb
|
201
218
|
- spec/lib/request_spec.rb
|
219
|
+
- spec/lib/rpc_spec.rb
|
202
220
|
- spec/lib/transaction_spec.rb
|
203
221
|
- spec/spec_helper.rb
|
204
222
|
homepage: ''
|
@@ -235,6 +253,7 @@ test_files:
|
|
235
253
|
- spec/fixture/vcr_cassettes/latest_blocks.yml
|
236
254
|
- spec/fixture/vcr_cassettes/latest_transactions.yml
|
237
255
|
- spec/fixture/vcr_cassettes/propagate.yml
|
256
|
+
- spec/fixture/vcr_cassettes/rpc.yml
|
238
257
|
- spec/fixture/vcr_cassettes/single_address.yml
|
239
258
|
- spec/fixture/vcr_cassettes/single_address_unspents.yml
|
240
259
|
- spec/fixture/vcr_cassettes/single_block.yml
|
@@ -247,5 +266,6 @@ test_files:
|
|
247
266
|
- spec/lib/faucet_spec.rb
|
248
267
|
- spec/lib/helloblock_spec.rb
|
249
268
|
- spec/lib/request_spec.rb
|
269
|
+
- spec/lib/rpc_spec.rb
|
250
270
|
- spec/lib/transaction_spec.rb
|
251
271
|
- spec/spec_helper.rb
|