btc: bitcoin-inquisitionをregtestで動かそう
2025/08/29
“inquisition” は調査とか探求とか、そういった意味。
bitcoin-inquisition はまだ正式になっていない BIP の機能を組み込んでみた Bitcoin Core、だと私は思っている。
OP_CAT
のことを調べていたので、実際に動かしてみたい。
コベナンツとか難しいことはせず、単に動かすだけだ。
リポジトリを “op_cat” で検索したらいくつか出てきたので、たぶん有効になっているだろう。
バイナリ
ビルドはせず、バイナリをダウンロードする。
今回は Raspberry Pi3 で動かすので bitcoin-28.1-inq-aarch64-linux-gnu.tar.gz
をダウンロードする。
ええ、bitcoin-28.1-inq-arm-linux-gnueabihf.tar.gz
で動かなくて、こっちは 32bit 版だと気付きましたよ。
他の開発環境と混ざってしまうと怖いので、SDカードごとフォーマットしても悲しくないように別にしておく。 なんかこう、もうちょっとよいやり方もありそうなのだが、パスを変えるだけだと間違ってオリジナルの DB を更新されたりすると悲しいのだ。
展開すると、Bitcoin Core のバイナリ版をダウンロードして展開したのと同じようになっている。
bitcoin.conf
ってこんなんだったっけ?
23 KB くらいあるのだが、試験的に追加した機能を有効にするとかしないとかの設定もあるんだろうか。。。
まずはいつも通りやってみよう。
動かす
bitcoin-28.1-inq を展開したディレクトリで作業する。
適当にデータディレクトリを作る。
$ mkdir bitcoin-data
$ touch bitcoin-data/bitcoin.conf
bitcoin.conf
server=1
txindex=1
regtest=1
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28333
[regtest]
#rpcuser=testuser
#rpcpassword=testpass
rpcauth=testuser:90d538109436dcea4d3da67f65d6aa00$21214960fe9d1bbd9d5f40ab16212fe9aa3d87a59e2cfef91232729c5de00657
fallbackfee=0.000001
blockfilterindex=1
peerblockfilters=1
bitcoind
--conf
を付けるか --datadir
を付けるかでいつも迷うので確認。
--conf
がない場合は datadir の bitcoin.conf
を使うということなので、今回は --datadir
だけでよし。
$ ./bin/bitcoind -datadir=./bitcoin-data -daemon
Bitcoin Inquisition starting
$ ./bin/bitcoin-cli -datadir=./bitcoin-data getblockcount
0
オプションを毎回つけるのは面倒なので alias
を使おう。。。
としたのだが、コマンドラインからは使えるのだが、他のスクリプトから使おうとしてもできない。
なんかルールがあるっぽいが、考えるのが面倒だ。
bitcoind
#!/bin/bash
./bin/bitcoind -datadir=./bitcoin-data "$@"
bitcoin-cli
#!/bin/bash
./bin/bitcoin-cli -datadir=./bitcoin-data "$@"
2ファイルとも chmod +x
して、カレントディレクトリを PATH
の頭に持ってくる。
$ export PATH=`pwd`:$PATH
終わりに
取りあえず、立ち上がってのでここまでにしよう。
通常の Bitcoin Core もインストールしているのであれば、bitcoind の起動ログが “Bitcoin Inquisition starting” と “Inquisition” を含んでいることも確認する。
出力されていれば、少なくとも今回でインストールされたものだと思われる。