Skip to content

bitflyer-tools/bitflyer

Repository files navigation

bitflyer

All Contributors

Gem Version Circle CI Code Climate Libraries.io dependency status for GitHub repo GitHub

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!