カスタムsignet Bitcoinの立て方 Umbrel v0.5版

カスタムsignet Bitcoinの立て方 Umbrel v0.5版

これを参考にしてUmbrelのBitcoin Nodeをカスタムsignetノードにする。
以下メモ書きご容赦。備忘録程度に書き留めました。

メインネットとは共存できない。Bitcoinに依存する全てのアプリを削除しなければならない。よって実験機に導入すべき。

<手順>

1.Umbrel Bitcoin Nodeアプリのadvance settingでsignetを選択。

2.CLI appスクリプトでbitcoinを止める。

cd umbrel/scripts
./app stop bitcoin

3.bitcoin.conf, umbrel-bitcoin.conf以外を削除

ディレクトリの場所は
~/umbrel/app-data/bitcoin/data/bitcoin

4.umbrel-bitcoin.confをsu権限で編集。末尾にsignetchallengeを追加。

[signet]
bind=0.0.0.0:8333
bind=10.21.21.8:8334=onion
# 51,21,<公開鍵>,51,ae
signetchallenge=5121<公開鍵>51ae

5.appスクリプトでbitcoinを開始。

cd ~/umbrel/scripts
./app start bitcoin

6.適当にディレクトリを作りgithubからbitcoindのソースをクローン。

7.bitcoindのバイナリをダウンロード、bitcoin-cliおよびbitcoin-utilを~/.local/binに置く。6.のソースからビルドしても良い。ビルド方法は自分で調べて。

8.bitcondにマイニング用のウォレットを作成。

alias bcli='docker exec -it bitcoin_bitcoind_1 bitcoin-cli -signet -rpcconnect=10.21.21.8 -rpcport=8332 -rpcuser=umbrel -rpcpassword=<パスワード>'

# ウォレットを作る。
bcli createwallet "mining"  false true "" false false

# 秘密鍵をインポート
bcli importprivkey "<秘密鍵>"

RPCパスワードは以下で確認

cat ~/umbrel/.env | grep BITCOIN_RPC_PASS

9.ソースにあるbitcoin/contrib/signet/minerスクリプトを使ってマイニング

cd <ダウンロードしたディレクトリ>/bitcoin/contrib/signet

# 難易度の算出
./miner \
--cli="bitcoin-cli -signet -rpcconnect=10.21.21.8 -rpcport=8332 -rpcuser=umbrel -rpcpassword=<パスワード>" calibrate \
--grind-cmd="bitcoin-util grind" --seconds 30
★私の環境で30秒指定したら nbits=1d4271e7 と算出された。実際にこれで動かすと2分30になるけど...

# ジェネシスブロック生成
./miner \
--cli="bitcoin-cli -signet -rpcconnect=10.21.21.8 -rpcport=8332 -rpcuser=umbrel -rpcpassword=<パスワード>" generate \
--address <ビットコインアドレス> \
--grind-cmd="bitcoin-util grind" --nbits=1d4271e7 \
--set-block-time=$(date +%s)

# 継続的にマイニング
./miner \
--cli="bitcoin-cli -signet -rpcconnect=10.21.21.8 -rpcport=8332 -rpcuser=umbrel -rpcpassword=<パスワード>" generate \
--address <ビットコインアドレス> \
--grind-cmd="bitcoin-util grind" --nbits=1d4271e7 \
--ongoing

ここまでやればカスタムsignetでビットコインノードが稼働する。

electrs, mempool.spaceアプリを入れればグラフィカルに目視で確認できるようになるが、electrsにちょっとひと工夫必要。

1.bitcoindのdebug.logからマジックナンバーを確認

Signet derived magic (message start): XXXXXXXX
bitcoindの起動直後のログに上記のようなのがあるのでXXXXXXXXを控えておく。

2.electrsアプリをインストールし、appスクリプトで止める。

3.electrsのdocker-compose.ymlを編集してマジックナンバーを指定する。

ELECTRS_DB_DIRの直下に以下を追加。
ELECTRS_SIGNET_MAGIC: "XXXXXXXX"

4.appスクリプトで再開する。

Remaining : 0 characters / 0 images
100

Sign up / Continue after login

Related stories

Writer

甘いもの大好きメタボ猫。マイペースなのはしょうがない。 nostr:npub10zeurmg22wc89l8m3npw9cyu45cun0lvs6w3ep69cdpa25pna65s0994qz

Share

Popular stories

【Umbrel】BlueWallet Lightning & tailscaleで便利で快適なLightningウォレットを作ろう!

542

【Umbrel】LNURLが使いたいから自分で環境つくってみた

313

Bitcoin CPUソロマイニング(マイニングプール無し)

292