Synchronization

有沒有辦法加快初始同步過程?

  • June 11, 2017

有沒有辦法加快初始同步過程?

它持續了第 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**了。Windows 時間同步 w/pool.ntp.org

如果您想要更多控制,請查看此連結

如果您是專業人士,我建議您使用Meinberg NTP 服務(包括伺服器)而不是標準 windows’ w32time

對於 Mac 和 *nix - 只需檢查NTPd請參見此處的範例。

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