Synchronization
有沒有辦法加快初始同步過程?
有沒有辦法加快初始同步過程?
它持續了第 3 週,並且似乎隨著我接近 90% 的塊而放緩。
我在我的伺服器上執行完整節點。
有趣的是,即使在同一台伺服器上完全同步比特幣核心也只需要 10 天,而乙太坊似乎卡住了。
沒有 eth 引導程序,對嗎?
我已經關閉了一切,讓 geth 使用整個伺服器和頻寬。它偶爾會同步,但大多數時候它是在尋找對等點。
我嘗試了各種
geth
選擇 - 沒有運氣。
geth.exe --fast --cache 512 --maxpeers 100 --maxpendpeers 25 --v5disc --verbosity 5 console
在尋找同行時主要顯示這些錯誤:TRACE[05-20|12:28:41] << PONG/v4 addr=x.x.x.x:30303 err=expired TRACE[05-20|12:28:21] Failed proto handshake id=3f1d12044546b763 addr=x.x.x.x:30303 conn=dyndial err="too many peers" TRACE[05-20|12:28:39] Skipping dial candidate id=78de8a0916848093 addr=x.x.x.x:30303 err="recently dialed"
眼鏡:
Mist 0.8.10 @ win 2016 server 8gb ram, RAID10 SAS 15K hdds; 1Gbit internet Geth Version: 1.6.0-stable Git Commit: facc47cb5cec97b22c815a0a6118816a98f39876 Architecture: amd64 Protocol Versions: [63 62] Network Id: 1 Go Version: go1.8.1 Operating System: windows
**更新:**有時間同步錯誤;在伺服器上同步時間後,我收到其他錯誤:
DEBUG[05-20|13:02:48] Ethereum handshake failed id=e0785eadc076b1ab conn=dyndial err="Genesis block mismatch 2720038ef46044a7 (!= d4e56740f876aef8)" DEBUG[05-20|13:00:01] Ethereum handshake failed id=3c50be8974756f30 conn=dyndial err="Genesis block mismatch 406f1b7dd39fca54 (!= d4e56740f876aef8)" DEBUG[05-20|13:03:30] Ethereum handshake failed id=17677980aa2fb04f conn=dyndial err="Genesis block mismatch 40cb5b4035ddab4b (!= d4e56740f876aef8)" DEBUG[05-20|12:59:37] Ethereum handshake failed id=2507fb78c342d4c8 conn=dyndial err="Genesis block mismatch 41941023680923e0 (!= d4e56740f876aef8)" DEBUG[05-20|13:01:06] Ethereum handshake failed id=1d612ac4de33ab58 conn=dyndial err="Genesis block mismatch 4a0055a7f3ddb050 (!= d4e56740f876aef8)" DEBUG[05-20|12:59:14] Ethereum handshake failed id=799d0a8836e17ef7 conn=dyndial err="Genesis block mismatch 4fa57903dad05875 (!= d4e56740f876aef8)" DEBUG[05-20|12:59:04] Ethereum handshake failed id=a3b861e2e4c0df30 conn=dyndial err="Genesis block mismatch 61ba9d21b32224a2 (!= d4e56740f876aef8)" DEBUG[05-20|12:59:18] Ethereum handshake failed id=5bbc22cd4f3dd031 conn=dyndial err="Genesis block mismatch 6577484f58748da6 (!= d4e56740f876aef8)" DEBUG[05-20|12:59:35] Ethereum handshake failed id=ba64dd01810cb970 conn=dyndial err="Genesis block mismatch 77b03ae0c86cc644 (!= d4e56740f876aef8)" DEBUG[05-20|12:59:09] Ethereum handshake failed id=093900bf548eeb6e conn=dyndial err="Genesis block mismatch 8ce2489a3df8bc04 (!= d4e56740f876aef8)" DEBUG[05-20|12:59:31] Ethereum handshake failed id=183bd38c75c213b4 conn=dyndial err="Genesis block mismatch 8ecbab5d2002f425 (!= d4e56740f876aef8)" DEBUG[05-20|12:59:04] Ethereum handshake failed id=23a6298815a13486 conn=dyndial err="Genesis block mismatch a3c565fc15c74788 (!= d4e56740f876aef8)" DEBUG[05-20|13:02:07] Ethereum handshake failed id=a59155da80d4db50 conn=dyndial err="Genesis block mismatch fbfd267771e132d0 (!= d4e56740f876aef8)"
沒有辦法加速初始同步。確保網路埠已打開。確保節點有正確的時間。然後就等著吧。
**更新:**確保您有正確的時間:
執行**time.is**或類似的線上時間檢查器。如果相差超過 10 秒,則表示時間同步問題。
通常,您使用NTP客戶端使您的機器與正確的時間同步。每個現代作業系統都會自動為您完成。
對於 Windows,只需打開網際網路時間同步並用作來源就足夠**
pool.ntp.org
**了。如果您想要更多控制,請查看此連結。
如果您是專業人士,我建議您使用Meinberg NTP 服務(包括伺服器)而不是標準 windows’
w32time
。對於 Mac 和 *nix - 只需檢查NTPd。請參見此處的範例。