queru_btce 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- 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
|