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

2021年3月1日IT, 開発

BitbankはPubNubが非推奨となり、WebSocketの正式サポートを開始しています。
ただ、公式APIドキュメント(https://github.com/bitbankinc/bitbank-api-docs/blob/master/public-stream.md)ではwscatコマンドでのサンプルは提示してくれていますが、実際の使い方が書かれていません。
※PubNubの時にはサンプルコードがあったのに…

Webを検索すると、Pythonを使った方法は見つかったのですが、Javascriptでの実装方法が見当たらず困りました。
WebSocketをほとんど扱ったことがなく、やり方があってるかわかりませんが、一応レスポンスを得ることができたので書いておきます。

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

実装コード

事前に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