Network
與外部池的專用網路握手
我正在嘗試執行一個專用網路,我通過為我的所有節點提供一個引導節點來做到這一點。我時不時地在我的節點上註意到我將收到來自網路外部的對等點。經過進一步檢查
admin.peers
,我注意到它們是與公共游泳池的握手。我不明白這是怎麼發生的,因為我通過提供--bootnode
標誌覆蓋了預設引導節點,所以我的節點不應該能夠找到我的網路之外的其他節點與之握手?
我有一個類似的問題。我沒有覆蓋引導節點,因此我沒有使用該
--nodiscover
標誌。但是,我有 2 個節點 - 共享相同的 genesis 文件和網路 ID,在 2 個不同的虛擬機上執行,但它們不能將彼此辨識為對等點。geth 控制台中的protocols
節點admin.nodeInfo
在兩個節點上是相同的:protocols: { eth: { difficulty: X, genesis: "0xX", head: "0xX", network: X } }
然而,雖然他們不承認對方,但取決於我什麼時候跑步,
admin.peers
我通常會得到> admin.peers []
但有時會出現一個新的隨機節點:
[{ caps: ["eth/62", "eth/63", "par/1", "par/2"], id: "X", name: "Parity/v1.5.11-stable-f067f12-20170314/x86_64-linux-gnu/rustc1.15.1", network: { localAddress: "172.17.0.2:55516", remoteAddress: "X" }, protocols: { eth: "handshake" } }]
我一直在隨機選擇的網路 ID 上執行節點,以找到一個沒有未知對等點的節點,但無論數量有多大,似乎總是有一個隨機節點出現在某個時刻,而且它並不總是具有相同的配置。
在啟動 geth 控制台時使用選項 –nodiscover 將防止與外部節點握手。我已經嘗試過了,它有效。對我來說不幸的是,我仍然無法在 AWS 上的私有區塊鏈的兩個節點之間建立握手。