bitflyer
bitflyer is a wrapper interface of Bitflyer lightning API
Installation
gem install bitflyer
Usage
See https://lightning.bitflyer.jp/docs for details.
HTTP API
See public.rb / private.rb for method definition.
Example
public_client = Bitflyer.http_public_client
p public_client.board # will print board snapshot
private_client = Bitflyer.http_private_client('YOUR_API_KEY', 'YOUR_API_SECRET')
p private_client.positions # will print your positions
Realtime API
Public events
Accessor format is like {event_name}_{product_code}
.
You can set lambda to get realtime events.
{event_name}
and {product_code}
is defined at client.rb.
Private events
To subscribe to the private child_order_events
and parent_order_events
, pass your API key and secret when creating the realtime_client
.
Connection status monitoring
The ready
callback is called when the realtime_client
is ready to receive events (after the socket connection is established, the optional authentication has succeeded, and the channels have been subscribed). If connection is lost, the disconnected
callback is called, and reconnection is attempted automatically. When connection is restored, ready
is called again.
Examples
For public events only:
client = Bitflyer.realtime_client
client.ticker_btc_jpy = ->(json){ p json } # will print json object
client.executions_btc_jpy = ->(json){ p json }
# ...
For both public and private events:
client = Bitflyer.realtime_client('YOUR_API_KEY', 'YOUR_API_SECRET')
# Private events:
client.child_order_events = ->(json){ p json }
client.parent_order_events = ->(json){ p json }
# Public events:
client.ticker_btc_jpy = ->(json){ p json }
client.executions_btc_jpy = ->(json){ p json }
# ...
Connection monitoring:
client = Bitflyer.realtime_client
client.ready = -> { p "Client is ready to receive events" }
client.disconnected = ->(error) { p "Client got disconnected" }
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/unhappychoice/bitflyer. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Contributors ✨
Thanks goes to these wonderful people (emoji key):
Yves-Eric Martin 💻 |
Yuji Ueki 💻 |
Shoma FUKUDA 💻 |
shidetake 💻 |
This project follows the all-contributors specification. Contributions of any kind welcome!