Go-Ethereum

geth 永遠不會完成 rinkeby 的同步

  • February 19, 2020

我的目標是為 Rinkeby 網路同步一個完整的節點。似乎 geth 沒有完成同步。我已經執行了三天多,但它卡在了最後幾個街區。

> eth.syncing
{
 currentBlock: 4507244,
 highestBlock: 4507319,
 knownStates: 64751595,
 pulledStates: 64748954,
 startingBlock: 4507164
}
> eth.blockNumber
0 
> admin.peers.length
1
> net.peerCount
1

當我重新執行eth.syncing時,會highestBlock增加,但currentBlock不會。

timedatectl set-ntp true 我已經嘗試為 geth 安裝不同的版本(1.8.X、1.9.0)我還按照這篇文章中的建議啟用了網路時間同步 : Geth 卡在同步中

我通過執行 geth geth --rinkeby --cache 2048

我的機器有 12GB RAM 和 8 個 CPU。

任何幫助將不勝感激。謝謝你。

前幾天我同步了我的 Rinkeby 節點,問題是你還在同步,因為你還沒有下載所有的狀態條目(pulledStatesknownStates)。從現在開始(我的節點):

> eth.syncing
{
 currentBlock: 4507935,
 highestBlock: 4508064,
 knownStates: 90697511,
 pulledStates: 90697511,
 startingBlock: 4507600
}

這個階段比下載塊花費的時間要長得多。

使用該命令geth --rinkeby --cache 2048,您將在預設模式下同步(快速)。此模式同時下載塊和狀態條目。

您必須耐心地同步節點。

在快速模式下同步 Rinkeby 花了我 60 個小時。有125M 狀態條目,同步後文件夾大小為38GB。隨著時間的推移,這兩個數字都會增長。

您可以eth.syncing在 Geth 控制台中輸入。如果輸出為“False”,則表示同步已完成。否則,您將獲得有關塊和狀態的各種詳細資訊。

通過鍵入eth.blockNumber,您將獲得目前的塊號。如果輸出為 0,則同步尚未完成。

這是同步完成時的圖像(所有狀態都被拉出),我開始下載鏈段。 同步林克比

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