イーサリアムブートノードの概要
最終更新: 2024年9月23日
新しいノードがイーサリアムのネットワークに参加する際には、既存のノードに接続して、新しいピアを検出しなければなりません。 イーサリアムネットワークへのエントリポイントとなるこれらのノードをブートノードと呼びます。 クライアントは通常、ブートノードのリストをハードコードしています。 これらのブートノードは通常、イーサリアム・ファウンデーションのDevopsチームまたはクライアントチームによって実行されています。 ブートノードは、静的ノードとは異なるという点に注意してください。 静的ノードは何度も呼び出されますが、ブートノードは、接続するピアが十分にない場合や、ノードが自力で新しい接続をする必要がある場合にのみ呼び出されます。
ブートノードに接続する
ほとんどのクライアントにはブートノードのリストが組み込まれていますが、独自のブートノードを実行したり、クライアントにハードコードされているリストに含まれていないブートノードを使用することもできます。 そのような場合は、クライアントの起動時に、以下のように指定します。これはGethの例です。各クライアントのドキュメントを確認してください 。
1geth --bootnodes "enode://<node ID>@<IP address>:<port>"ブートノードを実行する
ブートノードは、NAT (ネットワークアドレス変換 (opens in a new tab)) の背後にないフルノードです。 公開されているフルノードは、すべてブートノードとして動作します。
ノードを起動すると、enode がログに記録されます。これは、他のユーザーがあなたのノードに接続するために使用できる公開識別子です。
通常、enodeは再起動するたびに再び生成されます。ブートノードで永続的なenodeを生成する方法については、クライアントのドキュメントを必ず参照してください。
ブートノードの性能を高めるには、接続可能なピアの最大数を増やすことをお勧めします。 多数のピアでブートノードを実行すると、必要な帯域幅が大幅に増加することに注意してください。
利用可能なブートノード
go-ethereum 内の組み込みブートノードのリストは、こちら (opens in a new tab) で確認できます。 これらのブートノードは、イーサリアム・ファウンデーションとgo-ethereumチームによってメンテナンスされています。
ボランティアによって管理されている、他のブートノードのリストもあります。 少なくとも1つの公式ブートノードを必ず含めるようにしてください。公式ブートノードを含めないと、イクリプス攻撃を受ける可能性があります。