読者です 読者をやめる 読者になる 読者になる

clock-up-blog

go-mi-tech

bitFlyer (仮想通貨取引所) の API を操作するための NuGet パッケージを公開しました

仮想通貨・ブロックチェーン Advent Calendar 2016 20日目の記事です。

bitFlyer API 操作をラップした NuGet パッケージを作成・公開しました。

bitFlyer が提供している API について

bitFlyer という仮想通貨取引所(ビットコイン等の売買が行える所)では、Web 画面でポチポチ手動で取引を行うことは当然できるのですが、各操作をプログラムから行うための API も提供されています。

bitFlyer の APIJSON 形式の REST API となっています。

本 NuGet パッケージの意義

REST API の呼び出しは難しくはないですが割と面倒でもあります。本 NuGet パッケージはそのあたりの面倒臭さをラップします。

個人個人で実装しようとするとたぶん認証用の SHA256 ハッシュ計算周りでたぶんちょっとハマります。

導入方法

冒頭の GitHub ページにも書きましたが、Visual Studio の Package Manager Console にて以下を実行すればパッケージが導入されます。

PM> Install-Package BitflyerApi

利用方法

準備

当然これを扱う以上は bitFlyer のアカウントは持っている前提なのですが、それに加え、API アクセスのために必要となる API Key, API Secret を取得する必要があります。

上記URLからAPIキーを追加すると、以下のように API Key, API Secret が取得できます。
f:id:kobake:20161213173804p:plain:w500

BitflyerClient インスタンスの生成

using BitflyerApi;
...
client = new BitflyerClient(
    "xxxxxxxxxxxxx", // API Key を指定
    "xxxxxxxxxxxxx", // API Secret を指定
    ProductCode.BTC_JPY // 取引の種類を指定。BTC_JPY, FX_BTC_JPY, ETH_BTC のいずれか。
);

各種操作

あとはもう GitHub の README に書いてある通りなのですが、例えば以下のように注文を実行できたりします。

async Task DoOrder()
{
    // 成行で0.001BTC買い注文
    await client.Buy(0.001);
}

その他諸々の利用サンプルコード

だいたい以下を見れば何ができるか分かるかと思います。

おしまい

個人的にはお金を扱うようなシステムこそ型制約の厳しい言語で組むべきだと考えています。

C# 最高なので C# で自動売買システム等作りたい方等は当パッケージを利用したり参考にしたりすると良いかと思います。

});