Go-Ethereum

為什麼 knownStates 和 pullStates 在我的全節點上總是 0?

  • July 18, 2021

這是我第二次在全節點執行 Geth。第一個完全同步,但第二個在一周後沒有同步。兩台伺服器具有相同的配置和基礎架構。使用eth.syncing我在第二台伺服器上收到一個奇怪的輸出,如下所示:

> eth.syncing
{
 currentBlock: 5169781,
 highestBlock: 9967108,
 knownStates: 0,
 pulledStates: 0,
 startingBlock: 5175548
}

如你所見,currentBlock 大約是highestBlock 的一半,並且knownStates 和pullStates 都是0。你能告訴我為什麼這些值都是0,這是怎麼回事?

謝謝你。

節點首先將同步塊然後狀態。在您的情況下,它還沒有完成同步塊。

聖魔….

要修復它,我必須完全重新啟動它(刪除數據)並使用:

docker run -d -v /data/binance:/root --name binance-smart-chain-node -p 0.0.0.0:8545:8545 -p 0.0.0.0:8546:8546 -p 0.0.0.0:6060:6060 -p 30311:30311 -p 30311:30311/udp vlddm/binance-smart-chain-node:latest --syncmode full --cache 4096 --rpc --rpccorsdomain="*" --rpcaddr="0.0.0.0"

重要的是--syncmode full,沒有它,blockNumber(在 web3 客戶端中)總是返回為零 (0)。

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