Node.jsでcoincheckのAPIを使う方法を解説します。
coincheckのAPIドキュメントを参照すれば作れますが、Node.jsのサンプルがなかったため公開します。
JavascriptでcoincheckAPIを触りたい人は参考にしてみてくださいね。
コインチェックの特徴はコインチェックって何ができるの?を参照ください。
コインチェック公式サイトContents
coincheck APIの使い方(Node.js)
ビットコイン取引所APIを参考にコーディングしていきます。
他の取引所APIと比べて難しいところはないので、ドキュメント通りに実装すればOK。
Public APIの使い方
Public APIは認証不要で、ビットコインの価格情報が取得できます。
サンプルでは「ティッカー」を使用して、現在価格、bid(買い注文)、ask(売り注文)を取得します。
const request = require('request'); const path = 'api/ticker'; const endpoint = 'https://coincheck.com/' const url = endpoint + path; request(url, function (err, response, payload) { let body = JSON.parse(payload); console.log(body.last,body.bid,body.ask) }
Private APIの使い方
Private APIは認証が必要です。残高の確認や実際の取引はPrivate APIを使用します。
APIキーから事前に「アクセスキー」と「シークレットキー」の作成が必要です。
ここでは「残高」を使用して、日本円、BTC残高を取得します。
coincheck 取引所APIドキュメントより、ACCESS-KEY、ACCESS-NONCE、ACCESS-SIGNATUREをheaderに定義する必要があります。
Node.jsでのHMAC-SHA256はcrypto.createHmac関数を利用します。
const crypto = require('crypto'); const key = (APIアクセスキー); const secret = (APIシークレットキー); const timestamp = Date.now().toString(); const endpoint = 'https://coincheck.com/' const path = 'api/accounts/balance'; const sign = crypto.createHmac('sha256', secret).update(timestamp + endpoint + path).digest('hex'); const options = { url: endpoint + path, method: 'GET', headers: { 'ACCESS-KEY': key, 'ACCESS-NONCE': timestamp, 'ACCESS-SIGNATURE': sign } }; request(options, function (err, response, payload) { let body = JSON.parse(payload); let jpyassetCC = body.jpy; let btcassetCC = body.btc; console.log(jpyassetCC, btcassetCC) });
coincheck API利用時の注意点
注文約定後のウォレット反映までのタイムラグ
coincheck API利用時の注意点として、注文約定後のウォレット残高反映までに数秒のタイムラグが発生します。
古い残高を使用していると誤って残高不足なのに発注してしまう可能性があります。
2019年2月時点ではタイムラグがあまり見られなくなりましたが、念のため制御は入れておいた方がいいと思います。
私はアービトラージでcoincheckAPIを利用していますが、全取引所のBTC残高の合計をデータベースに保存しておき、事前にチェックをする処理を入れています。
coincheck API使い方まとめ
Node.jsをしようしたcoincheck APIの使い方をまとめました。
使い方、機能はシンプルなので、ぜひ試してみてください。
コインチェック公式サイトAPIでシステムトレードを実装するならさくらのVPS
などの外部VPSを利用すると24時間稼働できて便利です。
価格で選ぶならさくらのVPS
、使いやすさ、安定性で選ぶならConoHa VPS
がいいですよ。
コメントを残す