自宅フルノードを立ててopreturnを送信

check my home PC full-node of bitcoin-core at bitnodes.io

opreturn トランザクションの送信(つまりopreturnの書き込み)は、coinb.in の機能を使っても良いですし、

blockcypher.comblockchain.infoなどのAPIを利用しても良いのですが、自宅でフルノードを立てて「自力で送信する」というのもロマンがあってお勧めです。ビットコインネットワークに直接参加している感覚を味わうことができます。もっと言えば「おれはビットコインを守っている地球防衛軍だっ!」という感覚です。github の bitcoin-coreが乗っ取られて偽のbitcoin-coreが配布され、悪の枢軸ノードが増えてきても、正義の味方nodeが半分以上残っていればビットコイン取引を守ることが出来るのです。悪の枢軸から守るには(地球防衛軍の任務は)、乗っ取られる前の古いバージョンのbitcoin-coreを使って自宅フルノードを維持するだけで良いのです。

さて、戯言はこれくらいにして、自宅PCにビットコインフルノードをインストールして、これを使って送信してみましょう。いままで管理人はウインドウズPCにbitcoin-coreのウインドウズ版をインストールしてコンソールウインドウからsendrawtransaction コマンドを使って送信していたのですが、ubuntu server 22.04LTSのPCにもインストールしてみましたので御紹介致します。昔ubuntu desktop にもインストールしたことがあるのですが、自動更新でネット設定が変わってしまうなど不安定な動作がありましたので、今回はubuntu server にしました。GUI画面は使えませんが、素晴らしい安定性です!

ubuntu で bitcoind を動かす

※フルノードを立てるお勉強サイト
https://bitcoin.org/en/full-node

便利な時代になったもので、ubuntu にも snap install でビットコインコアをインストールすることができます。インテル6500TのミニPC(8GB/128GBSSD)にインストールしました。

$ sudo apt update && apt upgrade(お約束)

$ sudo snap install bitcoin-core (これだけ!)

bitcoin.conf の内容(サンプル)

prune = 16384
daemon = 1

ブロック保存量を16GB(約2か月分)に制限する設定にしました。blocksonly = 1 を入れてしまうと未使用トランザクションメモリを保持しなくなるようでトランザクション送信できないようです。

※bitcoin.conf の場所
/root/.bitcoin/bitcoin.conf

$ nano bitcoin.conf で設定します。

※bitcoind の場所

$ sudo /snap/bitcoin-core/126/bin/bitcoind

ルートディレクトリから find -name bitcoind を実行して探してみましょう。

※起動時自動実行設定

$ sudo crontab -e に次の行を入れます。6500Tの4コアのうち3コアでマイニングして1コアでbitcoind を動かす設定です。

@reboot /usr/src/xm6181/xmrig/build/xmrig -a rx/0 -t 3 -o randomxmonero.auto.nicehash.com:9200 -u your-mining-address –huge-pages-jit –randomx-1gb-pages

@reboot /snap/bitcoin-core/126/bin/bitcoind

bitcoind動作確認

PC起動後に、ps aux や top コマンドで、bitcoind が動作しているかどうかを確認します。動いていたら、次のコマンドで調子を確かめます。

$ sudo /snap/bitcoin-core/126/bin/bitcoin-cli -getinfo
$ sudo /snap/bitcoin-core/126/bin/bitcoin-cli -netinfo

これで自宅フルノードのipv4 または ipv6 のアドレスを確認し、メモします。多くのインターネットプロバイダではbitcoindが使うポート8333をipv4では使えませんので、ipv6で接続することになるでしょう。ルーターのipv6ファイアウォールも「切る」必要があります。

最初の起動時には、イニシャルブロックダウンロードIBDといってブロックデータのダウンロードと検証作業を行うのに時間が掛かります。上記の16GBに制限するプルーン(切り取り=省略)設定でも丸2日掛かりました。

それで、ノード確認サイト bitnodes.io にアクセスして、上記アドレスを入力して、動作確認します。

https://bitnodes.io/

そして、念願の、初送信。

sending BTC rawtransaction from my home PC
sending BTC rawtransaction from my home PC

ubuntu のコマンドラインで、

$ bitcoin-cli sendrawtransaction “signed-rawtransaction-hexcode”ということで送信しますと、1行だけ、txid が味気なく返信されますが、それでちゃんと送信されておりました。ちょうど今飲んでいる大好きなワイン、tabali talinay pinot noir でございます。

Screenshot of mempool.space

※参考記事

jetson nano でビットコインフルノードを動かそう


投稿日

カテゴリー:

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です