830 large

以太坊钱包不能同步区块的解决办法

flfq · 于 发布 · 最后由 gaobin回复 · 14786 次阅读

前言



图1 以太坊钱包不能同步的截图

以太坊钱包不能同步区块,一直卡在“waitting block”状态。一周时间尝试了各种解决办法都没有解决。

终于。。。
在巴比特上找到一个帖子,解决了这个问题,原帖在这里,请自行阅读:http://8btc.com/thread-40587-1-1.html

本文不拷贝原帖,简单讲讲思路。

问题


近期,wallet,mist等官方推荐的钱包程序都无法同步区块,不能进行任何操作。我尝试在不同的服务器上(阿里云日本服务器,阿里云中国服务器,自己的笔记本电脑,专用服务器)运行官网下载的客户端,都无法更新。
我在网上搜索解决方案的时候,发现有很多朋友都有相同的问题。但是基本上都没有可行的解决方案。
不能同步区块,就无法转账,无法进行任何有意义的操作,真是急死人。。。

解决方案


帖子http://8btc.com/thread-40587-1-1.html 的题目叫“以太坊钱包Parity安装教程”,这个题目真的误导人,估计很多遇到同步问题的朋友都忽略了这个帖子。帖子实际介绍的就是解决区块同步问题的方法。
长话短说,解决方案为:
1、安装新型以太坊客户端“Parity”
2、打开终端CMD,进入“Parity”的程序目录,运行指令:parity --geth
3、运行wallet
完成上述步骤,你会惊喜的发现wallet开始快速同步了。
上述3个步骤的图片请见原帖,这里只放一张我更新完毕的图片。

图2 更新完毕的wallet钱包

原因猜测


原帖的解释:“近期以太坊网络遭受DOS攻击,Geth客户端同步区块困难,但是Parity客户端受到的影响相对较小。”
原帖发表于2016年10月,以太坊钱包同步困难的问题真的持续了好长时间了。猜测可能开发团队现在的重心在Parity等新的客户端上,因此,Parity客户端更新比较及时,各种新的问题能够快速解决。而wallet和mist等图形化钱包使用的geth客户端更新比较慢,存在各种BUG。。
上述解决方案的核心“parity --geth”实质上是强迫wallet等图形化钱包使用Parity,而不是geth进行区块同步。

附加知识


parity客户端下载的区块和geth下载的区块目录不一样。
parity客户端的默认区块目录是“C:\Users\‘username’\AppData\Local\Parity”。
由于parity客户端的目录默认是C盘,很多朋友的C盘空间可能不够用。没关系,请看我以前的帖子“Mist 转移区块存储位置方法-中文版本”http://ethfans.org/topics/410
核心指令是:mklink /J C:\Users\PHD\AppData\Local\Parity\Ethereum F:\ethereum\Ethereum
详细内容请看帖子。

自我宣传一下
上述解决方案是我自己研究,已经在多台电脑和移动硬盘上测试成功,读者可以按照操作步骤完成配置。
如果您没有时间操作,也可以选择我提供的“一键部署”服务:我的淘宝店出售已经配置好的比特币硬盘和以太坊硬盘,已经完成所有优化配置,并下载了历史区块数据,用户购买硬盘后,只需“一键点击”,就可以快速完成区块同步,使用区块链服务。详细内容请关注我的淘宝店“区块链一点应用”(https://shop240241943.taobao.com/?spm=a1z10.1-c.0.0.45ee61bbvXfDMN

  • 128
    noknife

    按照这个步骤做了一遍,CMD下一直在更新,更新了1天,还是特别慢。打开CMD窗口的情况下,不能打开parity图形界面。楼主帮忙看看。

  • 830 large
    flfq

    @noknife 0blk/s 表示每秒钟下载0条交易,应该是网络不行,试试在网络好的环境下载,特别是晚上下载速度会快一些

  • 128
    zbirk

    @flfq 小白研究了一天的Parity,我现在用Parity连接了Ropsten测试网,发送ETH已经成功了,但是遇到两个问题想请教一下。1、如何开启测试网的挖矿呢? 2、Parity对Token的支持不太友好啊,在mint可以看到的Token,在Parity里不知道上哪儿看;而且在合约里找到trasfer、trasferfrom两个功能,但尝试了都无法正常转账。

  • 830 large
    flfq

    @zbirk 如果是测试网,直接用wallet的测试模式,可由挖矿。2、parity更新区块,mist作为上层界面

  • 12845 large
    stevewooo

    修改区块文件存储位置还能这样做:parity --geth --db-path E:\chaindata\parity

  • 128
    zbirk

    @flfq 刚过年的时候geth更新了一个版本,出现BUG了,测试网一挖矿就进程崩溃;换上parity做底,强制运行wallet,挖矿的按钮则是灰色的不能按

  • 128
    ddcc326

    钱包同步区块都2个星期了,还是没有同步完到了97%了,一下就掉了,又成0%了,老是这个样子!哪位大神可以指导下,谢谢了!

  • 830 large
    flfq

    @ddcc326 官网网站的wallet和mist默认使用geth同步区块,目前geth不能用,可以用parity同步

  • 830 large
    flfq

    @zbirk geth 在ropsten测试网络下可以正常运行,我目前正在持续同步,可以创建合约

  • 830 large
    flfq

    @flfq
    @zbirk
    @zbirk
    @zbirk ropsten测试网络我有一些测试币,你需要的话把账号发出来,我给你转几个

  • 128
    leoran100

    我运行了parity --geth,下载是很快,但是在下载的时候打开mist却不能操作,是要等全部下载完之后才能做创建合约这些操作吗

  • 128
    ming69

    Node type: geth
    Network: main
    Platform: darwin (Architecture x64)

    ...ntage=99
    INFO [03-21|18:07:23] Loaded local transaction journal transactions=0 dropped=0
    INFO [03-21|18:07:23] Regenerated local transaction journal transactions=0 accounts=0
    INFO [03-21|18:07:24] Finished upgrading chain index type=bloombits
    INFO [03-21|18:07:25] Starting P2P networking
    INFO [03-21|18:07:30] UDP listener up self=enode://a7e3bd0252ca61584ef84ea6a6296162e6acb2d2be0f868a4a8ce679125db81964c4a9dc40b9b6855242293ec761895faf07246c8414b69a1790e2bfcd6a387b@100.94.96.47:30303
    INFO [03-21|18:07:30] RLPx listener up self=enode://a7e3bd0252ca61584ef84ea6a6296162e6acb2d2be0f868a4a8ce679125db81964c4a9dc40b9b6855242293ec761895faf07246c8414b69a1790e2bfcd6a387b@100.94.96.47:30303
    INFO [03-21|18:07:30] Mapped network port proto=tcp extport=30303 intport=30303 interface="UPNP IGDv1-IP1"
    INFO [03-21|18:07:30] IPC endpoint opened url=/Users/zhaochunming/Library/Ethereum/geth.ipc
    无法连接到节点?查看日志获取更多信息 请教这是怎么回事

  • 128
    zbirk

    @flfq 谢谢,不需要转啦,我也囤了一些,但想多挖一点测试用,过了年之后就挖不了了很尴尬

  • 830 large
    flfq

    @leoran100 估计是没配上,底层用parity,上层用mist,

  • 830 large
    flfq

    @ming69 geth有BUG

  • 128
    mr.hei

    请问现在用的是Ropsten的测试网络,总是同步剩下65个区块卡主住,必须用parity吗?我只要测试网络

  • 128
    zbirk

    @mr.hei 测试网资源就是这么差,只能看缘分,另外你可以用myetherwallet,右上角设置一下也可以连上Ropsten

  • 830 large
    flfq

    @mr.hei 测试网可以直接用wallet,能够同步完啊。我就是用从官网直接下载的wallet

  • 830 large
    flfq

    @mr.hei ,这是以太坊官方的软件中心https://github.com/ethereum/mist/releases

  • 128
    gaobin

    我用 parity --geth 更新完后,在主网上用Ethereum Wallet 部署合约的时候, 老是部署不了;
    我账户里面有1.1个eth
    每次提交上去最后都提示 The transaction from Dkk2 to undefined couldn't be successfully executed

    有没有大神知道怎么解决呢?