Web Socket Streams for Bitbank データをNodejsで取得する

2021年3月1日IT, 開発

bitbank-webstream

BitBankが公開しているAPIを使用すれば、個人でも自動売買をすることができます。

今回自動売買するコードを書いてみてつまずいた点を備忘として書いておきます。

Bitbankが公開している、価格を取得するAPIは以前はPubNubが推奨されていましたが、WebSocketへ変更されています。

公式APIドキュメント(https://github.com/bitbankinc/bitbank-api-docs/blob/master/public-stream.md)ではwscatコマンドでのサンプルは提示してくれていますが、実際の使い方が書かれていません。

Pythonを使った方法は見つかったのですが、Javascriptでの実装方法が見当たらず困りました。
※PubNubの時にはサンプルコードがあったのに…

WebSocketをほとんど扱ったことがなく、やり方があってるかわかりませんが、一応レスポンスを得ることができたので書いておきます。

Pythonを使ったクライアント実装方法
https://qiita.com/yamazaki/items/a9b2d961e343195fe5e5

javascriptでの実装コードサンプル

事前にwsパッケージをインストールしておいてください。

ポイントはws.sendで送る内容です。
普通 [“join-room”, “ticker_btc_jpy”] で送ると思うじゃん!ってなりました。
wscatのサンプル、実は先頭の「42」も含めて送ってるみたいです。
42ってなんだ。

実行結果

とりあえずデータは取れたので使えそう。
こんな感じでdataでやってきた先頭の数値を消してあげればjsonパースできる。
※macでバックスラッシュの入力は「option + ¥」で入力できるの初めて知った…

APIドキュメント

・bitabank-api-docs
https://github.com/bitbankinc/bitbank-api-docs/blob/master/public-stream.md

2021年3月1日IT, 開発, Websocket, パブリックAPI