CounterblockdをインストールしてAPIを実行する

f:id:yzono:20141223042430j:plain

はじめに

これまでCounterpartydのAPIについて説明してきましたが、今回からCounterblockdについて説明します。Counterblockdは、counterpartydが構成したCounterpartyのトランザクションデータから、マーケット情報、価格情報、トレード情報、アセットに対する操作やヒストリーなど取得しやすいインターフェースを提供します。

bitcoindとcounterpartydはインストール済みであることを前提とします。

目次

  • Counterblockdをインストール

  • Conterpartydと同期化

  • Counterblockd API実行

Counterblockdをインストール

以前の投稿で、bitcoindとcounterpartydをインストールしましたが、その時はcounterblockdをインストールしていませんでしたので、以下コマンドを実行してください。

$ sudo sv stop counterpartyd

$ cd ~/counterpartyd_build
$ sudo python3 setup.py --with-bootstrap-db --with-counterblockd

フォルダ /home/xcp/.config/counterblockd が生成されていることを確認してください。

Conterpartydと同期化

Conterpartydとの同期は、counterblockd起動時に行われます。以下、コマンドを実行してください。

$ sudo sv start counterpartyd
$ sudo sv start counterblockd

以下ログに同期の状況が出力されます。初めての場合は同期に時間がかかります。

/home/xcp/.config/counterblockd/counterblockd.log

counterblockdのRPCポート(4100)、Socketポート(4101)が開いていることを確認してください。

$ netstat -a | grep 410
tcp        0      0 *:4100                  *:*                     LISTEN     
tcp        0      0 *:4101                  *:*                     LISTEN    

Counterblockd API実行

counterblockdに対して、"method":"proxy_to_counterpartyd"を設定することで、counterblockdを経由して、counterpartydのAPIを実行することができます。

リクエスト

curl http://127.0.0.1:4100/api/ -H 'Content-Type: application/json; charset=UTF-8' -H 'Accept: application/json, text/javascript' --data-binary '{"jsonrpc":"2.0","id":0,"method":"proxy_to_counterpartyd","params":{"method":"get_running_info"}}'

レスポンス

{"jsonrpc": "2.0", "result": {"version_minor": 49, "last_block": {"ledger_hash": "c1f15aa37b233c1504cb29fcd53770feb068811564322f12ef3d02ddde2ede91", "txlist_hash": "1c0723604aa519a24b5bf2b07ba72c878a7a0c83989a1c457655375c8c12a674", "block_index": 335373, "block_hash": "00000000000000000155e067d8236fe07f5fa955dccc501ca7f0156bcbefa883", "difficulty": "39457671307.1387", "block_time": 1419259284, "previous_block_hash": "00000000000000000fca79b0fb84799fbc7a0ed8e4b3f26d4435f77d588ee2b7"}, "version_major": 9, "db_caught_up": true, "bitcoin_block_count": 335373, "version_revision": 1, "last_message_index": 493049, "running_testnet": false, "running_testcoin": false}, "id": 0}

まとめ

今回は、CounterblockdをインストールしてAPIを実行しました。Counterblockdは多くのAPIがあり、またwebsocketのインタフェースにも対応してます。次回説明します。

参考

counterblockd