gethの起動時に自動でnodeを接続させることができます。
今回は、gethを起動するタイミングで全てのnodeを自動的に接続する方法を徹底解説しようと思います。
自動接続に必要なのはたった3ステップです。
<スポンサードリンク>
設定ファイルを作成
まず、全てのnodeのデータディレクトリに、static-nodes.jsonというファイルを作成します。
% touch /path/to/data/dir/static-nodes.json
各nodeの接続情報を確認
gethのコンソール画面で下記のコマンドを入力し、接続情報を確認します。
> admin.nodeinfo.enode "enode://307276d0a28c0fe5c3a672f8e6658b9692d2f59a33456a9d51b10f50c06c5aab00d6cf2862089f2ec29a74df828a262f60c559506b0debef988c72eb9d0872d1@[::]:30303"
コマンドを入力して返ってきた、(”enode://<publickey_of_node>@<ip>:<port>”)が接続情報です。
port番号は、defaultで30303になっています。
IPアドレスは、各サーバーのIPアドレスに随時変換してください。
各nodeの設定ファイルに、自分が接続するnodeの接続情報を記載
先ほど作成した、static-node.jsonに、自分が接続するnodeの接続情報を記載します。
サンプルは、下記の通りです。
[ "enode://07276d0a28c0fe5c3a672f8e6658b9692d2f59a3345.......(省略)@xx.xx.xx.xx:30303", "enode://0c06c5aab00d6cf2862089f2ec29a74df828a262f60.......(省略)@xx.xx.xx.xx:30303" ...(以下、接続したいノード分記載) ]
以上でgeth起動時のnodeの自動接続設定は、完了です。
関連
Ethereum Solidityの最強の開発環境を構築 これだけ!
【solidity】業務ロジックとデータロジックを分断するコントラクト設計
【初心者向け】solidity基礎 modifierの使い方を徹底解説
【初心者向け】Solidity 外部コントラクトの呼び出し方法を徹底解説
Solidity(Remix)とgitを連携させ、Ethereumの開発をする