queru_btce 1.0.1 → 1.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/README.md +71 -11
- data/lib/queru_btce/version.rb +1 -1
- data/queru_btce.gemspec +2 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 30d380d0fc4144ce3594a6947f081ffbf6d8602c
|
4
|
+
data.tar.gz: 3131b493f07858ab249f349f8095a54634699956
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f424c4e7ade55b4f7cd3d5d8499e45b56b8c740879f3df70b98a22b1271ef0d1ab919bdecad874b86cad5e4bc97052a61ba1529ed8dc52f2c4df9eaaa2dbf071
|
7
|
+
data.tar.gz: b30b30a6547db00751788c07ddb622a34926b1a18c2a58f00e04e3ebca2329823edf7acc4dc73f896372fb0cc3f9353a6647b2bcfb3ea7aefebc0f2aeeff8b4b
|
data/README.md
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
# queru-btce
|
2
2
|
|
3
|
-
KISS
|
3
|
+
KISS _BTC-e_ API Access from Ruby.
|
4
4
|
|
5
5
|
### Pros:
|
6
6
|
|
7
7
|
- No config file and no framework dependency.
|
8
|
-
- No weird abstractions, you can follow
|
8
|
+
- No weird abstractions, you can follow _BTC-e_ API specs.
|
9
9
|
- Returns an object, keys are methods.
|
10
10
|
- Really few error abstraction, exceptions are raised.
|
11
11
|
- Nounce is enforced, I don't expect damm nounce error.
|
@@ -13,7 +13,7 @@ KISS BTC-E API Access from Ruby.
|
|
13
13
|
|
14
14
|
### Cons:
|
15
15
|
|
16
|
-
- Not much abstraction, you should know
|
16
|
+
- Not much abstraction, you should know _BTC-e_ API.
|
17
17
|
- Its in **BETA** status. Not production tested until now.
|
18
18
|
|
19
19
|
## Installation
|
@@ -38,22 +38,82 @@ $ gem install queru-btce
|
|
38
38
|
|
39
39
|
## Usage
|
40
40
|
|
41
|
-
This gem provides class methods for all public/private API methods offered by
|
41
|
+
This gem provides class methods for all public/private API methods offered by _BTC-e_.
|
42
42
|
Responses are hashes and any errors are raised as exception, your program can handle it.
|
43
43
|
|
44
|
-
- [
|
45
|
-
- [
|
44
|
+
- [_BTC-e_ Trade API Documentation](https://btc-e.com/api/documentation)
|
45
|
+
- [_BTC-e_ Public API Documentation](https://btc-e.com/api/3/docs)
|
46
46
|
|
47
|
-
You can call any
|
47
|
+
You can call any _BTC-e_ API method this way:
|
48
48
|
|
49
|
+
#### Public API example:
|
49
50
|
```ruby
|
50
|
-
QueruBtce.info
|
51
|
-
|
51
|
+
info = QueruBtce.info
|
52
|
+
puts info.server_time
|
53
|
+
|
54
|
+
btc_usd = QueruBtce.ticker(:btc_usd)
|
55
|
+
puts btc_usd.ask
|
56
|
+
puts btc_usd.bid
|
57
|
+
|
52
58
|
QueruBtce.ticker(:btc_usd).btc_usd.last
|
53
|
-
QueruBtce.ticker(:btc_usd, :eth_usd)
|
59
|
+
mytickers = QueruBtce.ticker(:btc_usd, :eth_usd, :ltc_usd)
|
60
|
+
puts "BTC: #{mytickers.btc_usd.last}"
|
61
|
+
puts "ETH: #{mytickers.eth_usd.last}"
|
62
|
+
puts "LTC: #{mytickers.ltc_usd.last}"
|
63
|
+
```
|
64
|
+
|
65
|
+
#### Public API methods:
|
66
|
+
|
67
|
+
All the described at _BTC-e_ documentation:
|
68
|
+
|
69
|
+
```ruby
|
70
|
+
QueruBtce.info
|
71
|
+
QueruBtce.ticker
|
72
|
+
QueruBtce.depth
|
73
|
+
QueruBtce.trades
|
74
|
+
```
|
75
|
+
|
76
|
+
#### Private API:
|
77
|
+
```ruby
|
78
|
+
QueruBtce.credentials key: 'mykey', secret: 'mysecret'
|
79
|
+
my_info = QueruBtce.get_info
|
80
|
+
puts my_info.return.funds.btc
|
81
|
+
|
82
|
+
orders = QueruBtce.active_orders pair: :btc_usd
|
83
|
+
puts 'I have open orders' if orders.return
|
84
|
+
```
|
85
|
+
|
86
|
+
#### Trade API methods:
|
87
|
+
|
88
|
+
|
89
|
+
All the described at _BTC-e_ documentation. Parameters are passed as hash, for example:
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
QueruBtce.trans_history from: 0, count: 100, order: 'ASC'
|
93
|
+
```
|
94
|
+
|
95
|
+
The list is:
|
96
|
+
|
97
|
+
```ruby
|
98
|
+
QueruBtce.get_info
|
99
|
+
QueruBtce.trans_history
|
100
|
+
QueruBtce.trade_history
|
101
|
+
QueruBtce.active_orders
|
102
|
+
QueruBtce.trade
|
103
|
+
QueruBtce.cancel_order
|
54
104
|
```
|
55
105
|
|
56
|
-
|
106
|
+
## Tips:
|
107
|
+
|
108
|
+
### Nounce error:
|
109
|
+
|
110
|
+
Nonce is param required by _BTC-e_ trade api, is just an integer but the current one should be greater than the last one. I guess they require it to ensure your transactions are received in a known order, sequentially.
|
111
|
+
|
112
|
+
This gem always send a timestamp as nounce, ensuring its greater than the last one, so calls are delayed a second between. Not a problem cause API can dump you if you try to ask faster.
|
113
|
+
|
114
|
+
But if you are calling the API from more than one process, there's no locking mechanism in gem (maybe in the future) and you need to implement a lock to prevent making two calls at once. A cache key, or distributed message can do the work, even a semaphore file locking.
|
115
|
+
|
116
|
+
It remains at your side by the moment.
|
57
117
|
|
58
118
|
## Contributing
|
59
119
|
|
data/lib/queru_btce/version.rb
CHANGED
data/queru_btce.gemspec
CHANGED
@@ -19,6 +19,8 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
+
spec.required_ruby_version = '>= 2.3'
|
23
|
+
|
22
24
|
spec.add_dependency 'json', '~> 2.1'
|
23
25
|
spec.add_dependency 'rubysl-ostruct', '~> 2.1'
|
24
26
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: queru_btce
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Queru AKA Jorge Fuertes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|
@@ -124,7 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
124
124
|
requirements:
|
125
125
|
- - ">="
|
126
126
|
- !ruby/object:Gem::Version
|
127
|
-
version: '
|
127
|
+
version: '2.3'
|
128
128
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
129
|
requirements:
|
130
130
|
- - ">="
|
@@ -132,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
132
|
version: '0'
|
133
133
|
requirements: []
|
134
134
|
rubyforge_project:
|
135
|
-
rubygems_version: 2.6.
|
135
|
+
rubygems_version: 2.6.8
|
136
136
|
signing_key:
|
137
137
|
specification_version: 4
|
138
138
|
summary: KISS BTC-e API Access from Ruby
|