CounterblockdをインストールしてAPIを実行する
はじめに
これまで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のインタフェースにも対応してます。次回説明します。