SocialBitcoinPortfolioでの資金の存在を確認する方法(Scala/Java編)

SocialBitcoinPortfolioに関しては以下の記事を参照してください。

http://socialbtcportfolio.com/

この記事では閲覧専用のAPI-Keyを使って、SocialBitcoinPortfolioの資金が本当に存在するのか確かめる方法を記述します。

KrakenAPIを使う

KrakenAPIはcurlで簡単に叩けるような簡単なものではありません。以下の様な面倒くさいヘッダーをたくさん付ける必要ああります。

PrivateメソッドはPOSTを使用し、次のように設定しなければなりません。

HTTPヘッダ: API-Key = APIキー API-Sign = HMAC-SHA512署名:(URIパス + SHA256(nonce + POSTデータ))を、base64でデコードされたAPI秘密鍵で署名してください

POSTデータ: nonce = (ナンス)常に増加する符号なしの64ビット整数 otp = 2段階認証用パスワード(未設定の場合は不要)

しかも説明がわかりにくいです(英語も同じ)。このため、主要言語で書かれたライブラリが第三者によって多数公開されています。一部はKraken公式にリンクが貼られています。 https://www.kraken.com/help/api#example-api-code

今回使用するJava用のライブラリ"XChange"は、KrakenやBitstamp、BTCChinaといった世界の主要な取引所を網羅したAPIラッパー群です。超すごいです。

GitHub - knowm/XChange: XChange is a Java library providing a streamlined API for interacting with 60+ Bitcoin and Altcoin exchanges providing a consistent interface for trading and accessing market data.

maven

libraryDependencies += "com.xeiam.xchange" % "xchange-kraken" % "2.1.0"

Scalaのプロジェクトを作って依存ライブラリに追加してください。

残高取得

gist94ea531ee48f727fc7cd

API-KeyとAPI-Secretはサイト上に記述されているものを使ってください。

残高取得メソッドを実行すると、EUR, XBT, JPYの資産がそれぞれいくらあるのかjson形式で得られます。 当然ですが、ビットコインを売り買いするようなコードを実行すると"Permission denied"という例外が発生します。

Javaで試したい方はXChangeのサイトを見てうまいことやってください。