Karakuri.com

Fintechではたらくアプリケーションエンジニアの技術録

仮想通貨(BTC,ETH,XEMなど)のアドレスから口座残高などの情報を取得するAPIについて

仮想通貨はブロックチェーンに全てのデータが保存されているので、直接ブロックチェーンを参照すれば任意のアドレスから口座残高などの情報を取得することができます。しかし、口座情報を利用するアプリやWEBサービスを作成するだけのために各仮想通貨のブロックチェーンを参照するのは大変ですし、何より学習コストがかかってしまいます。それで何かAPI経由で取れないかと探していたら、、、ありました。

cryptoID

cryptoIDというサイトがAPIを公開していて、様々な仮想通貨の口座情報をRESTfulAPIで取得することができます。いやほんと対応している仮想通貨が多すぎてすごいです。マイナーな草コインであるXPもこのサイトから口座情報取れます。
Chainz - Crypto-currency Blockchains

BTCのアドレスの口座残高を取得してみる

BTCから適当なアドレスを使って口座残高を調べてみます。このアドレスはマイナーのアドレスかな?

1CK6KHY6MHgYvmRQ4PAafKYDrg1ejbH1cE

cryptIDのAPIで残高参照は下記の構文となります。

https://chainz.cryptoid.info/CoinName/api.dws?q=getbalance&a=Address

なので、BTCのさっきのアドレスの口座残高取得は下記のようになります。

https://chainz.cryptoid.info/btc/api.dws?q=getbalance&a=1CK6KHY6MHgYvmRQ4PAafKYDrg1ejbH1cE

結果は下記の通りです。日が経つと口座状況が変わり、結果が変わるかと思います。

197.56651043

よく分からない点

実は上記の口座をブラウザで表示してみるとBalanceは197BTCではないみたいなんですよね。代わりにRichListに

at block -1 with 197.56651043 BTC

と書かれていて、そこの値が返ってきているようなのです。
Bitcoin Address

この数字よく分からないのですが、自分の口座はこの値とBalanceが同じなので正しく取得できているようになります。詳細分かったら追記します。