Table of Contents
はじめに
今回はRakuten RapidAPIの人気API、Coinbaseの使い方について特集します。Javascriptとnode.jsを使ってビットコインのスポット価格、売値、買値が分かるようになるのがポイントです。
ちなみにCoinbaseは全世界で利用されているデジタル・ウォレットで、ビットコインの安全な購入、利用、受取ができます。
セットアップ
始めるにあたって以下の2つを準備してください。
- Javascriptエディター(ご自身でお使いのエディターをで構いません。Visual Studio Code 等、インテリセンスが備わったエディターをご利用すること生産性の一層の向上が見込めます。)とUnirest npm パッケージ(軽量の HTTP ライブラリ)。インストール方法については次項でご案内いたします。
- Rakuten RapidAPIアカウントと登録することで得られるAPIキー
Node.js 開発環境の整備
Rakuten RapidAPIは今回ビットコインの価格取得に利用する API を含めた各種API へのアクセス処理等を unirest SDK にまとめております。本ライブラリを利用することで簡潔なコーディングで短期間で HTTP REST リクエストの発行が可能となります。
もしnode.jsを使うのなら次のコマンドを入力し、unirest npm パッケージをインストールします。
npm install unirest –save
Unirest npm パッケージが正しくインストールできましたらAPIを試せるようになります。警告メッセージが表示されても今の時点では無視して頂いて構いません。
Coinbase APIにアクセスする
Rakuten RapidAPIでアカウント登録をします。
Rakuten RapidAPIは8,000以上のAPIと500,000人を超える開発者が集まる世界最大級のAPIマーケットプレイスです。一か所で必要なAPIすべての検索、テスト、接続ができるRakuten RapidAPIをぜひお試しください。
次にCoinbaseを試しましょう。1番簡単なのはコードスニペットを入手するか、Coinbase APIのページで直接APIを試すことです。サインアップが終わればAPIを試すこともAPIキーを入手することもできるようになります(ちなみにAPIキーはリクエストの認証等の際に必要です)。
アカウントにサインインすると、画面が切り替わります。APIキー(X-Mashape-KeyとX-Mashape-Host)が「ヘッダーをリクエスト」のセクションに表示され、右側ではコードスニペットがコピーできるようになっています。
ビットコインの価格を表示させる
準備はこれで終わりです。いよいよCoinbaseのPricesのエンドポイントを見ていきましょう。
Coinbase では Prices に関するエンドポイントとして下記の3機能を用意しています。
- Get spot price – マーケットでのビットコインの現在の価格
- Get total buy price – 1ビットコインを買うのに必要な合計金額
- Get total sell price – 1ビットコインを売って得られる金額
左側のメニュー項目をクリックするとパラメータが表示されていることが分かります。
例えば、Get Spot Priceには3つのパラメータがあります。
- X-Mashape-Key: Rakuten RapidAPIにリクエストを行っているのがあなたのアプリだと知らせる役割
- X-Mashape-Host: Rakuten RapidAPIにあなたのリクエストの送り先を知らせる役割
- Api_key (required): Coinbaseによるユーザーの本人確認のために必要。例えば、ビットコインの買い注文を行う場合、請求をあなたのクレジットカードに行うことをCoinbaseが確認できる
それでは「テストする」をクリックして、APIを実際にテストしてみましょう。
ヒント: api_keyの欄にはとりあえず「abc」と入れておきましょう。スポット価格を表示させるのにはCoinbaseのアカウントは必要ありません。
コードを見てみましょう
var unirest = require(‘unirest’);
unirest.get(“https://community-coinbase.p.mashape.com/prices/spot_rate”)
.header(“X-Mashape-Key”, “your key”)
.header(“X-Mashape-Host”, “community-coinbase.p.mashape.com”)
.end(function (result) {
// This function will be called when the request is complete
console.log(‘current bitcoin price is’, result.body.amount , result.body.currency)
});
スポット価格をリクエストするのに必要なのは、次の2つです。
- リクエストを認証するのに必要な2つのヘッダー ‐ Rakuten RapidAPIのアカウントにログイン後、本ページ中の X-Mashape-Key 並びに X-Mashape-Host 欄よりコピーができます
- api_keyパラメータ – 直接こちらから入手することもできます。
コードを実行してみると、現在のビットコインの価格が表示されます。
よくある質問
・USドル以外の通貨で表示させることは可能ですか?
オプショナル・パラメータの「currency」を変更すれば可能です。
下のクエリ文字列のように「currency=EUR」と書き込んでみましょう。
unirest.get(“https://community-coinbase.p.mashape.com/prices/spot_rate?currency=EUR”)
コードを実行してみると、現在のビットコインの価格がユーロで表示されます。
1ビットコイン購入に必要な金額を表示させる
では次にCoinbaseのアカウントで1ビットコイン購入に必要な金額(手数料等も含む)を表示させてみましょう。
- {}機能タブの左側メニュー内「Get Total Buy Price」をクリックする
- 前回リクエストを行ったのでパラメータ欄はオートフィルされているはずです。もしされていなければapi key欄に「abc」と入れてください
- 「テストする」をクリックしてリクエストを行い結果を見てみましょう
- 画面の右側にコードが表示され、コピーできる状態になっています
このように表示されます:
root要素は6つのキーを含みます。
btc: あなたが買おうとしているもの(BTC)とその量(1)。これに変更はありません。
subtotal: 手数料なしのビットコインの価格です。
fees: 手数料その他で以下のものを含みます。
- Coinbaseの手数料
- 銀行の手数料
- Spread
これらがsubtotalに加算され、最終価格が決定されます。
total: 手数料等すべてを含んだ1ビットコインの価格と通貨。
1ビットコイン売却で幾ら得られるか表示させる
今度は1ビットコインを売却して得られる金額を表示させてみましょう。
- {}機能タブの左側メニュー内「Get Total Sell Price」をクリックする
- 前回リクエストを行ったのでパラメータ欄はオートフィルされているはずです。もしされていなければapi key欄に「abc」と入れてください
- 「テストする」をクリックしてリクエストを行い結果を見てみましょう
- 画面の右側にコードが表示され、コピーできる状態になっています
スクリーン下の「テストする」をクリックして結果を見てみましょう。
btc: 売ろうとしているビットコインの総数。今回は1ビットコインです。
subtotal: 買い手が払う金額。
fees: 手数料その他で以下のものを含みます。
- Coinbaseの手数料
- 銀行の手数料
- Spread
total: 手数料等を差し引いて得られる総額。
これでおしまいです。あとは皆さんのアプリで実際に使ってみてください!
他にも様々なAPIがRakuten RapidAPIマーケットプレイスで利用できます。頻繁に更新されているので欠かさずチェックを!
コメントを残す