メインコンテンツへスキップ
Change page

イーサリアムのブートノード入門

新しいノードがイーサリアムのネットワークに参加する際、新しいピアを発見するために、すでにネットワーク上に存在するノードに接続する必要があります。イーサリアムのネットワークへのこれらのエントリポイントは、ブートノードと呼ばれます。通常、クライアントにはブートノードのリストがハードコードされています。これらのブートノードは通常、イーサリアム財団のDevOpsチームやクライアントチーム自身によって運営されています。ブートノードは静的ノードとは異なることに注意してください。静的ノードは何度も繰り返し呼び出されますが、ブートノードは接続するピアが不足しており、ノードが新しい接続をブートストラップする必要がある場合にのみ呼び出されます。

ブートノードへの接続

ほとんどのクライアントにはブートノードのリストが組み込まれていますが、独自のブートノードを実行したり、クライアントのハードコードされたリストに含まれていないブートノードを使用したりすることもできます。この場合、クライアントの起動時に次のように指定できます(例はGethのものです。クライアントのドキュメントを確認してください)。

geth --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つの公式ブートノードを含めるようにしてください。