Go-Ethereum

為什麼我的乙太坊節點沒有節點?

  • March 23, 2022

我正在使用 geth 執行乙太坊節點,但找不到任何對等節點。我已經嘗試過wiki上建議的時間同步命令。我的頻寬很好。

預設情況下,geth使用埠 30303 連接到其他節點。您可能需要修改防火牆以允許通過此埠的流量。

geth attach當附加到 javascript 控制台 ( )時,您可以檢查您的對等點計數以及獲取對等點列表。

instance: Geth/v1.3.2/darwin/go1.5.1
datadir: /Users/home/Library/Ethereum
coinbase: 0xd3cda913deb6f67967b99d67acdfa1712c293601
at block: 864339 (Sun, 17 Jan 2016 16:00:07 MST)
modules: admin:1.0 db:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 shh:1.0 txpool:1.0 web3:1.0
> net.peerCount
5
> admin.peers
[{
   caps: ["eth/61", "eth/62"],
   id: "03743aa20db17dc12d2e355f32b75964653408eaab2c6e0fad7b2600fef49b3c2ec938d436fc48e86582d732d8eb64935edddee7d5c9caf726261add05cf46fe",
   name: "Geth/v1.2.2/linux/go1.5",
   network: {
     localAddress: "10.0.1.48:30303",
     remoteAddress: "87.106.88.35:35646"
   },
   protocols: {
     eth: {
       difficulty: 2283869820384174300,
       head: "d0d57a2f8fea1c834ce277d031727fecc1baf617b69e4d169f87f7e2d56f04c6",
       version: 62
     }
   },
   ...
]

如果您有一個健康的 geth 節點在其他地方執行,您可以嘗試使用該admin.addPeer功能引導您的對等連接。應該使用enode地址呼叫該函式,其格式是admin.addPeer("enode://<id>@<ip_address>:<port>")ip_addressport來自remoteAddress對等資訊部分的位置,並且id是對等資訊鍵下的大長十六進製字元串id。對於上面的同行,這將是:

admin.addPeer("enode://03743aa20db17dc12d2e355f32b75964653408eaab2c6e0fad7b2600fef49b3c2ec938d436fc48e86582d732d8eb64935edddee7d5c9caf726261add05cf46fe@87.106.88.35:35646")

如果您通過某種非基於網路的機制以某種方式失去與所有對等方的連接,這將很有用。但是,沒有任何對等點可能是一個網路問題,並且手動添加對等點可能最多只能作為權宜之計的解決方案。

引用自:https://ethereum.stackexchange.com/questions/53