Go-Ethereum

在與最高塊同步之前,您是否必須下載所有“導入的新狀態條目”?

  • February 15, 2019

我是Geth的新手…

我正在使用以下命令執行快速同步:

geth --syncmode "fast" --cache 4096

我一直在下載塊數據,直到距離最高塊大約 1000 個塊。然後下載塊的能力顯著減慢/停止,現在收到以下資訊:

INFO [05-01|21:31:20] Imported new state entries               count=1467 elapsed=7.016ms   processed=131239 pending=23492 retry=2   duplicate=0 unexpected=63

我注意到currentBlock:andhighestBlock:一段時間後不會更新,但是knownStatesandpulledStates會。

> eth.syncing
{
 currentBlock: 5540855,
 highestBlock: 5540944,
 knownStates: 1,
 pulledStates: 0,
 startingBlock: 5540855
}
> eth.syncing
{
 currentBlock: 5540855,
 highestBlock: 5540944,
 knownStates: 14130,
 pulledStates: 6264,
 startingBlock: 5540855
}

這是快速同步的正常行為嗎?是否會下載更多塊並再次更新最高塊,還是我必須停止並重新啟動 geth 控制台?

經過研究和測試,事實證明使用者在與乙太坊網路同步之前不必下載“Imported State Entries”。使用者現在可以選擇建立乙太坊節點或乙太坊輕節點。

而不是使用geth --syncmode "fast"建立乙太坊節點的命令……,

使用geth --syncmode "light"命令,建立一個乙太坊輕節點。

為了執行此操作,我下載了使用 Geth 1.8.2 的最新版本的 Ethereum Wallet (0.10.0)。當啟動乙太坊錢包應用程序時,所有區塊頭的下載,只有乙太坊輕節點需要(沒有狀態條目),同步需要 15 分鐘。我正在使用硬碟進行測試。然後我能夠打開 MIST (0.10.0) 並成功部署智能合約。

我建議任何不使用固態驅動器 (SSD) 的人使用乙太坊輕節點方法。令人驚訝的是同步速度有多快。

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