Geth同步的Invalid Difficulty错误怎么解决
这篇文章主要介绍"Geth同步的Invalid Difficulty错误怎么解决",在日常操作中,相信很多人在Geth同步的Invalid Difficulty错误怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Geth同步的Invalid Difficulty错误怎么解决"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
当你使用Geth同步以太坊区块链时,可能会遇到这个invalid difficulty
错误:
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:Engine: ethash}Number: 7280000Hash: 0xeddb0590e1095fbe51205a51a297daef7259e229af0432214ae6cb2c1f750750Error: invalid difficulty: have 2957101900364072, want 2958201410943272##############################
故障原因
要快速掌握区块链和数字货币应用开发,推荐汇智网的 区块链开发系列在线教程。内容涵盖比特币、以太坊、EOS、超级账本、Tendermint等多种主流区块链 平台,同时支持Java、C#、Python、PHP、JavaScript、Dart等多种开发 语言。
这是因为使用的Geth版本不支持康斯坦丁堡分叉(Constantinople Fork),例如上面错误日志中的Constantinople:
;或者虽然使用了支持康斯坦丁堡分叉的新版本Geth,但本地区块链中包含了旧版本产生的区块,从而导致同步失败。
解决方案
如果使用的不是最新版本的Geth,那么可以升级到最新的稳定版本。官网下载地址:Geth Releases。
如果Geth已经升级到最新版本,启动后还是出现invalid difficulty
错误,那么可以让Geth运行一会进行本地区块的重组,或者清空本地的区块链数据从头重新同步。
到此,关于"Geth同步的Invalid Difficulty错误怎么解决"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!