Go-Ethereum
在與最高塊同步之前,您是否必須下載所有“導入的新狀態條目”?
我是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:
一段時間後不會更新,但是knownStates
andpulledStates
會。> 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) 的人使用乙太坊輕節點方法。令人驚訝的是同步速度有多快。