bitcoindのregtest環境の使い方(インストール&マイニング)

bitcoinのチェーンは一般に利用されているmainnet、開発用のtestnet等ありますが、
どちらもデータ容量が大きく同期に時間がかかったり、
10分に一度しかマイニングできずトランザクションの承認を待たなかったりと、
開発においては便利でない部分もあります。

そこで、プライベートに空のブロックチェーンを生成して好きなタイミングでマイニングできるregtest環境で開発するという方法があります。

ubuntu17.04でのbitcoindのインストール及びregtest環境の立ち上げ方、cliでの動作確認等をメモ。

bitcoindのインストール

sudo apt-add-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install bitcoind bitcoin-qt  

bitcoin.conf

~/.bitcoin/bitcoin.confに以下の設定を書き込む。

regtest=1

regtestの起動&停止

bitcoind -regtest -daemon
bitcoin-cli stop

ブロックチェーンの初期化

rm -rf ~/.bitcoin/regtest

ブロックチェーン情報の参照

ブロック数やwalletの残高等を確認。

bitcoin-cli getinfo

ブロックの生成

regtestではコマンドでマイニングをすすめることができます。

bitcoin-cli -regtest generate 101

1ブロックマイニングするたびに50BTCの報酬がもらえて、100ブロック進んだところで利用可能になるので、

bitcoin-cli getinfo

とすると

"balance": 50.00000000,
"blocks": 101,

となっていて、101ブロックのマイニングが完了し、1ブロック目のマイニング報酬がアカウントのバランスに追加されていることがわかります。