bitcoindをtestnetに接続してcounterpartydを起動する
はじめに
これまではbitcoinのmainnetに接続してcounterpartydを起動していましたが、いろいろテストをするとBTCやXCPの消費が無視できない数量になります。また、配当やBetting時にオペレーターが受け取る手数料を確認する時に、ある程度大きい数字でないと確認が難しい場合があります。
今回はbitcoindをtestnetに接続してcounterpartydを起動するまでの手順について書きます。
目次
- 前提
- bitcoind起動準備、起動
- counterparty起動準備、起動
前提
bitcoind、counterpartydのインストールが完了していることを前提とします。過去の記事が参考になります。
プロセスが起動している場合は、プロセスを停止してください。
sudo sv stop counterblockd sudo sv stop counterpartyd ps -ef | grep bitcoind kill -9 PID
bitcoind起動準備、起動
bitcoin.confファイル作成
$ mkdir -p ~/.bitcoin-test/ $ echo -e "rpcuser=rpc\nrpcpassword=1234\nserver=1\ndaemon=1\ntxindex=1\naddrindex=1\ntestnet=1" > ~/.bitcoin-test/bitcoin.conf
起動
$ bitcoind --datadir=/home/xcp/.bitcoin-test
いつものようにしばらく待ちます。mainnetに比べたら短い時間で済むはずです。(2〜3時間で終わりました)
Bitcoin Block Explorerでtestnetのブロックheightが確認できます。
counterparty起動準備、起動
testnetセットアップ
cd /home/xcp/counterpartyd_build sudo python3 setup.py --with-testnet
起動
sudo sv start counterpartyd-testnet
起動確認
curl http://127.0.0.1:14000/api/ --user rpc:xcppw1234 -H 'Content-Type: application/json; charset=UTF-8' -H 'Accept: application/json, text/javascript' --data-binary '{"jsonrpc":"2.0","id":0,"method":"get_running_info"}' {"result": {"bitcoin_block_count": 315871, "version_revision": 3, "version_major": 9, "running_testnet": true, "running_testcoin": false, "db_caught_up": false, "last_block": {"block_index": 311219, "block_hash": "00000000a2a3450f6340fc710ab6a33bec35cab38cd5ac2053b2735810c7e231", "difficulty": 1, "ledger_hash": "19ede778fd2e88b9447a7e51cd458221b545964cc6375f041f548dea2bc30e44", "block_time": 1417178568, "txlist_hash": "8edad9aed678a6c8b59598221201fb7d9c68cbb35295f787188abbdeb9d0cfb7", "previous_block_hash": "000000000000009ba74c87b8f6e609043081b2aa9199546eb29bd0907aa54b0f"}, "version_minor": 49, "last_message_index": 9}, "id": 0, "jsonrpc": "2.0"}xcp@tk2-236-27607:~/counterpartyd_build
まとめ
CounterpartyがEthereumからポートしたスマートコントラクトはtestnetでは既に動作するそうです(未確認ですが)。早めに機能を試したい場合はtestnetを使うメリットがあります。
ただしデメリットもあります。例えばBlock ExplorerサービスのBlockscanはtestnetに対応していない? そうですし、Confirmationの時間もmainnetより間隔が長いように見えます。
次回はCounterpartyが提供するGameの機能について書きます。過去のトランザクションを見ると意外にアクティブなので少し楽しみです。