私はビットコインのソースコードをいじくり回しておりtestnet
、次の変更を行ったモードでのピア発見メカニズムの正確な動作を理解しようとしています:
bitcoind を強制的にフォールバックさせてハードコードされたノードに接続するために、DNS シード検出を無効にしました。
ハードコードされたデフォルトのノードを既知の 4 つのアドレスに変更しました。A、B、C、D としましょう。これらは常にオンラインであることを確認しています。
ここで、bitcoind クライアント (E と呼びます) を実行すると、A、B、C、または D のいずれかに接続され、同じ修正バージョンの bitcoind が実行されます。最初に接続するハードコーディングされたノードからピアアドレスを取得し、メッセージを交換getaddr
しaddr
ますが、その後どのように処理されるかはわかりません。次のクエリがあります。
a. ノードがフォールバックしてハードコードされたノードに接続する場合、私の場合のようにハードコードされたノードの1つだけに接続することになっていますか、それとも複数のハードコードされたノードに接続できますか?
b. メッセージを介してピア アドレスを取得した後addr
、ノード E はいつそれらのピアへの接続を開始しますか?
可能であれば、関連するコード ファイル/セクションを教えてください。ありがとう