blockchain 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +12 -1
- data/docs/pushtx.md +18 -0
- data/lib/blockchain.rb +1 -0
- data/lib/blockchain/pushtx.rb +16 -0
- data/lib/blockchain/util.rb +3 -1
- data/lib/blockchain/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fc351556b8fbc069d8c3024ea36034b80d6725fc
|
4
|
+
data.tar.gz: 975e1a63714a15938e09eda0d933b1ce4005e905
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10bb6cef898174112505925c8c77e51f5a76e2a35d7397ef1217c3682f80be1fff9f5f22e51154346b40fa8c840ad11f621d091a92dfdc26d57e54195180dd7b
|
7
|
+
data.tar.gz: 8c7837196f1bf6ccbfa54011ab1256314915b20661ae278df3da2e5ed25e59ead967d097828b90d2e40c8e37cc37a95e1479d254f0b24201c42b62c528325a27
|
data/README.md
CHANGED
@@ -22,6 +22,7 @@ The gem consists of the following functionality:
|
|
22
22
|
* `blockexplorer` ([docs](docs/blockexplorer.md)) ([api/blockchain_api][api1])
|
23
23
|
* `createwallet` ([docs](docs/createwallet.md)) ([api/create_wallet][api2])
|
24
24
|
* `exchangerates` ([docs](docs/exchangerates.md)) ([api/exchange\_rates\_api][api3])
|
25
|
+
* `pushtx` ([docs](docs/pushtx.md)) ([pushtx][api7])
|
25
26
|
* `receive` ([docs](docs/receive.md)) ([api/api_receive][api4])
|
26
27
|
* `statistics` ([docs](docs/statistics.md)) ([api/charts_api][api5])
|
27
28
|
* `wallet` ([docs](docs/wallet.md)) ([api/blockchain\_wallet\_api][api6])
|
@@ -32,6 +33,15 @@ The main module is called `Blockchain`
|
|
32
33
|
|
33
34
|
All functions may raise exceptions caused by incorrectly passed parameters or other problems. If a call is rejected server-side, the `APIException` exception will be raised.
|
34
35
|
|
36
|
+
###Connection timeouts
|
37
|
+
|
38
|
+
It is possible to set arbitrary connection timeouts.
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
require 'blockchain'
|
42
|
+
Blockchain::TIMEOUT_SECONDS = 5 #time out after 5 seconds
|
43
|
+
```
|
44
|
+
|
35
45
|
###Request limits and API keys
|
36
46
|
|
37
47
|
In order to prevent abuse some API methods require an API key approved with some basic contact information and a description of its intended use. Please request an API key [here](https://blockchain.info/api/api_create_code).
|
@@ -43,4 +53,5 @@ The same API key can be used to bypass the request limiter.
|
|
43
53
|
[api3]: https://blockchain.info/api/exchange_rates_api
|
44
54
|
[api4]: https://blockchain.info/api/api_receive
|
45
55
|
[api5]: https://blockchain.info/api/charts_api
|
46
|
-
[api6]: https://blockchain.info/api/blockchain_wallet_api
|
56
|
+
[api6]: https://blockchain.info/api/blockchain_wallet_api
|
57
|
+
[api7]: https://blockchain.info/pushtx
|
data/docs/pushtx.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
##Push transaction functionality
|
2
|
+
|
3
|
+
####`pushtx`
|
4
|
+
Call the pushtx endpoint and broadcast a hex encoded transaction. The method does not return anything upon success, but will raise exceptions if the transaction is malformed.
|
5
|
+
|
6
|
+
Params:
|
7
|
+
```
|
8
|
+
tx : str (hex encoded)
|
9
|
+
api_code : str (optional)
|
10
|
+
```
|
11
|
+
|
12
|
+
Usage:
|
13
|
+
```ruby
|
14
|
+
require 'blockchain'
|
15
|
+
|
16
|
+
Blockchain::pushtx( '0100000001fd468e431cf5797b108e4d22724e1e055b3ecec59af4ef17b063afd36d3c5cf6010000008c4930460221009918eee8be186035be8ca573b7a4ef7bc672c59430785e5390cc375329a2099702210085b86387e3e15d68c847a1bdf786ed0fdbc87ab3b7c224f3c5490ac19ff4e756014104fe2cfcf0733e559cbf28d7b1489a673c0d7d6de8470d7ff3b272e7221afb051b777b5f879dd6a8908f459f950650319f0e83a5cf1d7c1dfadf6458f09a84ba80ffffffff01185d2033000000001976a9144be9a6a5f6fb75765145d9c54f1a4929e407d2ec88ac00000000')
|
17
|
+
|
18
|
+
```
|
data/lib/blockchain.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'json'
|
2
|
+
require_relative 'util'
|
3
|
+
|
4
|
+
module Blockchain
|
5
|
+
|
6
|
+
def self.pushtx(tx, api_code = nil)
|
7
|
+
params = { 'tx' => tx }
|
8
|
+
|
9
|
+
if !api_code.nil?
|
10
|
+
params['api_code'] = api_code
|
11
|
+
end
|
12
|
+
|
13
|
+
Blockchain::call_api('pushtx', method: 'post', data: params)
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
data/lib/blockchain/util.rb
CHANGED
@@ -6,11 +6,13 @@ module Blockchain
|
|
6
6
|
end
|
7
7
|
|
8
8
|
BASE_URL = "https://blockchain.info/"
|
9
|
-
|
9
|
+
TIMEOUT_SECONDS = 10
|
10
|
+
|
10
11
|
def self.call_api(resource, method: 'get', data: nil)
|
11
12
|
url = URI.parse(BASE_URL + resource)
|
12
13
|
http = Net::HTTP.new(url.host, url.port)
|
13
14
|
http.use_ssl = true
|
15
|
+
http.read_timeout = TIMEOUT_SECONDS
|
14
16
|
|
15
17
|
request = nil
|
16
18
|
if method == 'get'
|
data/lib/blockchain/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blockchain
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Blockchain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-11-
|
11
|
+
date: 2014-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -54,6 +54,7 @@ files:
|
|
54
54
|
- docs/blockexplorer.md
|
55
55
|
- docs/createwallet.md
|
56
56
|
- docs/exchangerates.md
|
57
|
+
- docs/pushtx.md
|
57
58
|
- docs/receive.md
|
58
59
|
- docs/statistics.md
|
59
60
|
- docs/wallet.md
|
@@ -61,6 +62,7 @@ files:
|
|
61
62
|
- lib/blockchain/blockexplorer.rb
|
62
63
|
- lib/blockchain/createwallet.rb
|
63
64
|
- lib/blockchain/exchangerates.rb
|
65
|
+
- lib/blockchain/pushtx.rb
|
64
66
|
- lib/blockchain/receive.rb
|
65
67
|
- lib/blockchain/statistics.rb
|
66
68
|
- lib/blockchain/util.rb
|