康斯坦丁堡分叉(Constantinople Fork)
WARN [03-01|11:17:41] Synchronisation failed, dropping peer peer=68677387327cf808
err="retrieved hash chain is invalid"
ERROR[03-01|11:17:58]
########## BAD BLOCK #########
Chain config: {ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000
EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000
Constantinople: <nil> Engine: ethash}
Number: 7280000
Hash: 0xeddb0590e1095fbe51205a51a297daef7259e229af0432214ae6cb2c1f750750
Error: invalid difficulty: have 2957101900364072, want 2958201410943272
##############################
故障原因
这是因为使用的Geth版本不支持康斯坦丁堡分叉(Constantinople Fork),例如上面错误日志 中的Constantinople: <nil>
;或者虽然使用了支持康斯坦丁堡分叉的新版本Geth,但本地 区块链中包含了旧版本产生的区块,从而导致同步失败。
解决方案
如果使用的不是最新版本的Geth,那么可以升级到最新的稳定版本。官网下载地址:Geth Releases。
如果Geth已经升级到最新版本,启动后还是出现invalid difficulty
错误,那么可以 让Geth运行一会进行本地区块的重组,或者清空本地的区块链数据从头重新同步。
以太坊缪尔冰川硬分叉
ERROR[01-11|16:05:18.296]
########## BAD BLOCK #########
Chain config: {ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Constantinople: 7280000 Petersburg: 7280000 Istanbul: 9069000 Engine: ethash}
Number: 9200000
Hash: 0x6ba9486095de7d96a75b67954cfe2581234eae1ef2a92ab03b84fc2eae2deb8a
Error: invalid difficulty: have 2458589766091800, want 2459689277719575
##############################
WARN [01-11|16:05:18.298] Synchronisation failed, dropping peer peer=1ae58a69aae79bd2 err="retrieved hash chain is invalid"
解决方案
升级geth客户端到1.9.9
官网下载地址:https://geth.ethereum.org/downloads/
geth下载地址:https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.9.9-01744997.tar.gz
下载玩后校验MD5是否一致:md5sum geth-linux-amd64-1.9.9-01744997.tar.gz
ETC Core 举行开发者电话会议确定 Agharta 硬分叉高度为 9573000,预计在 2020 年 1 月 15 日进行