ビットコインフルノードをLinuxでDojoを使ってセットアップする方法

ビットコインは革新的で解放的なツールです。これにより、個人は独立したリソースを取得でき、他の人とオンラインで簡単に交換することが可能となります。電子現金とは異なり、ビットコインはネットワーク内で流通できるコインの総量を制限することによって希少性を生み出します。
ビットコインを取引に使用する方法の一つは、モバイルウォレットとともにフルノードを使用することです。使用できる最良のツールの一つが、Samourai Walletとともに使用するDojoです。
目次
- ビットコインはどのように機能するのか?
- なぜビットコインフルノードを使用するのか?
- Dojoとは何か?
- Ubuntu LinuxでのDojoインストール準備
- UbuntuでのDojoビットコインノードのインストール
- Samourai WalletとDojoのペアリング
- よくある質問
同様に読む: ビットコインのライトニングネットワークとは?
ビットコインはどのように機能するのか?
基本的に、ビットコインは記録を不変の方法で追跡する分散型データベースです。これは、3つのことを行うシステムを作り出します。
- データベースの新しいエントリーは前のエントリーに依存し、すべてのエントリーを相互に結びつける歴史的なイベントの連鎖を形成します。
- 新しいエントリーを追加するには、エントリーを偽造しようとする誰もがその作業をやり直す必要があることを確実にするために、一定の作業を行う必要があります。
- ネットワーク内のすべてのフルノードはデータベースのコピーを取得し、一連の単純なルールに従うことによって、すべての参加者が歴史の正しいバージョンに同意できるようにします。
これらのビットコインの特性により、システム内のすべての新しいエントリーは前のものと同様に安全です。また、その分散型の性質は、中央集権的な権限なしで機能することを可能にします。
これは、第三者なしでプライベートに取引したい個人にとって非常に便利です。
同様に読む: ウェブをブラウジングして暗号通貨を得る方法
なぜビットコインフルノードを使用するのか?
ビットコインフルノードは、ビットコインネットワークにおける独立した参加者になるためのソフトウェアです。これは、ネットワークの取引履歴の正確なコピーを提供し、通常のビットコインウォレットでは不可能な多くのことを行うことを可能にします。
たとえば、取引履歴全体を持つことで、フルノードは自分自身で受信した取引を検証できます。これは、ビジネスのためにビットコインを受け入れるユーザーにとって特に役立ちます。
フルノードを運用することで、ビットコインネットワークのアーカイブになることもできます。自分のフルノードを持ちたい他のユーザーはあなたのノードを出発点として使用できます。
最後に、フルノードを利用することで、新しい取引を確認し放送する際に外部サーバーを必要としなくなります。これは、ビットコインを使用する際にセキュリティとプライバシーを求めるユーザーにとって便利です。
フルノードを使用する最も簡単な方法は、Dojoをインストールすることです。
Dojoとは何か?
Dojoは、安全なビットコインノードを簡単に作成し展開できる強力なソフトウェアスイートです。また、Torやいくつかのプライバシー強化アドオンを使用することで、高いセキュリティを維持することを目的としています。

実際のDojoのインストールは、リソースを多く消費し、時間がかかるプロセスになる可能性があることに注意することが重要です。インストール手順は簡単ですが、ビットコイン取引の履歴を取得するには、あなたのコンピュータが受信したすべてのエントリーを検証しなければならないからです。たとえば、私の2011年のCore 2 Duoマシンは、ネットワークと完全に同期するのに5日かかりました。
さらに、コンピュータがすべてのデータを保存できることを確認することも良い習慣です。ほとんどの場合、1TBのドライブで全履歴を保存し、新しいデータのためのスペースを確保するのに十分です。
このチュートリアルは、Ubuntu 22.04マシンにDojoをインストールすることに焦点を当てています。ほとんどのコマンドは任意のLinuxディストリビューションで動作するはずですが、パッケージやプログラムの名前は異なる場合があります。
同様に読む: Web3とは何か、そしてそれはあなたのデジタルライフをどのように変えるのか?
Ubuntu LinuxでのDojoインストール準備
まず、システムに新しいユーザーアカウントを作成します:
sudo useradd -s/bin/bash -d/home/dojo -m -Gsudo dojo
sudo passwd dojo
これは、Dojoが実行するすべての設定とプログラムをあなたのユーザーアカウントから分離します。別のアカウントを使用することで、ユーザーエラーがDojoに影響を与える可能性を減少させます。
完了したら、次のコマンドでDojoユーザーに切り替えます:su dojo、その後、一部のディストリビューション特有の依存関係をインストールし始めます:
sudo apt update
sudo apt install gnupg-agent ca-certificates curl software-properties-common unzip tor torbrowser-launcher
次に、DockerとDocker Composeのリポジトリを追加します。
Dockerリリースの主な署名キーをダウンロードしてインポートします:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -Dockerリポジトリを追加します:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
Dockerをインストールします:
sudo apt install docker-ce docker-ce-cli
sudo usermod -aG docker dojo最後に、docker-composeをインストールします:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Dojoを機械にダウンロードし始めます:
wget https://code.samourai.io/dojo/samourai-dojo/-/archive/master/samourai-dojo-master.zip
すべてのDojoファイルを機械に抽出します:
mkdir /home/$USER/dojo
unzip /home/$USER/samourai-dojo-master.zip -d /home/$USER/dojo
Dojoの秘密鍵の設定
Dojoフォルダ内の「docker-bitcoind.conf.tpl」ファイルを開きます:
nano /home/$USER/dojo/docker/my-dojo/conf/docker-bitcoind.conf.tpl編集が必要な変数はBITCOIN_RPC_USER=とBITCOIN_RPC_PASSWORD=です。Dojoはこれらを使用して他のリモートウォレットに接続します:
BITCOIN_RPC_USER=dojo
BITCOIN_RPC_PASSWORD=random_password
Dojoデータベースの修正
次に編集が必要なファイルは「docker-mysql.conf.tpl」です。これはフルノードに直接関係しないすべての情報を保持しています:
nano /home/$USER/dojo/docker/my-dojo/conf/docker-mysql.conf.tplこの設定ファイルで編集する3つの変数はMYSQL_ROOT_PASSWORD=、MYSQL_USER=、MYSQL_PASSWORD=です:
MYSQL_ROOT_PASSWORD=your_mysql_root_password
MYSQL_USER=dojo
MYSQL_PASSWORD=mysql_user_password
NodeJSの設定の修正
次に編集するファイルは「docker-node.conf.tpl」です。これはDojoフロントエンドのインスタンスを制御し、フルノード、MySQL、Dojoが使用するすべての追加機能を組み合わせる接着剤として機能します:
nano /home/$USER/dojo/docker/my-dojo/conf/docker-node.conf.tplこのファイル内で、以下の変数を編集します:NODE_API_KEY=、NODE_ADMIN_KEY=、NODE_JWT_SECRET=。
- NODE_API_KEYは、あなたのDojoのREST APIの主な秘密鍵として機能します。この値により、必要に応じて他のサービスがDojoと簡単に通信できるようになります。
- NODE_ADMIN_KEYは、あなたのDojoインスタンスの主なパスワードです。Dojoの設定パネルにアクセスしたいときはこの値を入力します。
- NODE_JWT_SECRETは、あなたのDojoのWebトークンシステムの主なソルトとして機能し、すべてのDojoセッションの強力な暗号化を確保する値です。
NODE_API_KEY=random_node_api_key
NODE_ADMIN_KEY=random_node_admin_key
NODE_JWT_SECRET=random_node_jwt_secret
ビットコインブロックエクスプローラーの設定
最後に、「docker-explorer.conf.tpl」ファイルを編集する必要があります。これはDojoの内部ブロックエクスプローラーを制御します:
nano /home/$USER/dojo/docker/my-dojo/conf/docker-explorer.conf.tplこの設定ファイルで編集する必要がある2つの変数はEXPLORER_INSTALL=とEXPLORER_KEY=です。最初の変数は、Dojoにブロックエクスプローラーをインストールしたいことを伝え、2つ目はアプリケーションのパスワードとして機能します。
EXPLORER_INSTALL=on
EXPLORER_KEY=random_key
同様に読む: DeFiとは何か、そしてそれはどのように機能するのか?
UbuntuでのDojoビットコインノードのインストール
次に、以下のコマンドを実行してDojoのインストールスクリプトを開始します:
/home/$USER/dojo/docker/my-dojo/dojo.sh installインストールスクリプトは、DojoのDockerコンテナを構築するために必要なすべてのツールをダウンロードし、その後、必要なツールとプログラムを構築するコンパイルプロセスを開始します。

スクリプトはDojo実行可能ファイルを開始し、ビットコインネットワークと即座に同期します。このことは、ターミナルのレイアウトや色の違いで示されます。Ctrl + Cを押してプロセスをバックグラウンドにフォークします。

Dojoの同期進捗を確認する
上で述べたように、ビットコインネットワークと同期するには数時間から数日かかることがあります。ノードの進捗を追跡し、同期中に潜在的な問題を探すことが重要です。
Dojoの進捗を確認する方法は2つあります。最初は、「dojo.sh」ファイルを使用してサーバーの稼働ログを生成することです。これは、サーバーの進捗を迅速に確認したい場合に特に便利です。たとえば、次のコマンドを実行すると、ビットコインフルノードに関連するすべてのログが表示されます:
/home/$USER/dojo/docker/my-dojo/dojo.sh logs bitcoind
また、Dojoの進捗を専用のウェブポータルを通じて確認することも可能です。ただし、次のコマンドを実行するには、コンピュータにTorブラウザのコピーが必要です。このコマンドは、Dojoが使用するすべてのオンionアドレスを表示します:
/home/$USER/dojo/docker/my-dojo/dojo.sh onion次に、Torブラウザで「Dojo APIおよびメンテナンステool」のアドレスをコピーして読み込む必要があります。これにより、先に追加した管理キーを入力できる小さなプロンプトが表示されます。

Dojoは、あなたのノードの簡単な要約やさまざまなサービスの状態を表示します。これは、あなたのDojoインスタンスをより包括的に見るために役立ちます。

同様に読む: 暗号通貨ハードウェアウォレットについて知っておくべきこと
Samourai WalletとDojoのペアリング
Dojoノードがビットコインネットワークと正しく同期されると、モバイルウォレットをそれにペアリングできます。デフォルトで、DojoフルノードはAndroidのSamourai Walletと良好に動作します。

- Google PlayストアからSamourai Walletをダウンロードします。
- Samourai Walletを起動し、「自分のDojoサーバーに接続」を有効にして、「QRをスキャン」をクリックします。

- Dojoのメンテナンステoolで、左側のメニューにある「ペアリング」オプションをクリックして、スキャン用のQRコードを生成します。

- Samourai Walletに戻り、ウェブサイトのQRコードをスキャンします。
おめでとうございます! Dojoを通じて独自のビットコインフルノードをセットアップしました。
よくある質問
Dojoの秘密鍵に同じパスワードを使用してもいいですか?
はい、しかしそれを推奨しません。Dojoフルノードは、いくつかの敏感な機能のために提供した鍵に依存しています。攻撃者があなたの単一の鍵を奪取することに成功した場合、あなたの取引を盗み見たり変更することが可能です。
DojoがTorに接続中に5%で止まっています。私のビットコインノードは壊れていますか?
これは、Dockerが適切な外部接続を確立できないために最も可能性が高いです。これは、コンピュータにaptとsnapの両方のバージョンのDockerが存在するために発生する可能性があります。
これを修正するには、すべてのDockerインスタンスを削除し、単一のバージョンで再インストールします。
「タスク:bitcoindが120秒以上ブロックされています」というエラーが出ています。私のDojoには何が問題ですか?
おそらく、同期の際にリソースが不足しているため、プログラムが「自己ハング」状態に陥り、十分なリソースを待つことになります。これにより、システムが完全にロックされる場合もあります。
コンピュータがビットコインノードを同期し管理するのに十分なリソースを持っているか確認することが重要です。あなたのマシンは、ビットコインネットワークと快適に同期するために、少なくとも1TBのスペースと8GBのRAMを持っている必要があります。