首页 > 正文

以太坊私链重启后账户余额清零

这个问题折磨了我两天,终于在罗和林的帮助下解决了。问题描述:

使用geth搭建私链。构建完成后,创建账户并通过 miner.start() 获取以太币。

查询账户余额确实增加了。但是,关闭geth控制台并重新启动,然后查询帐户余额以将其清除。

siteethfans.org 以太坊私有链_以太坊 私有链_启动以太坊私有链

以太坊私有链重启后账户余额清零_第1张图片

以太坊私有链重启后账户余额清零_第2张图片

这个问题很奇怪(可能是因为这个问题太傻了)以太坊 私有,我在百度上搜索了两天也没找到是什么原因造成的。

启动以太坊私有链_以太坊 私有链_siteethfans.org 以太坊私有链

问题原因

最后我们发现启动私链的时候打开控制台日志出现了一些问题,每次启动私链的时候都会出现这样的警告:

在这里插入图片描述

siteethfans.org 以太坊私有链_启动以太坊私有链_以太坊 私有链

经过检查,这个警告的意思是块头的状态丢失了,所以开始回滚到前一个块以太坊 私有链,直到创世块。所以,原因应该是:当时虽然挖了块,但是没有写入信息,然后在退出geth的时候,使用了不合适的方法导致数据没有保存,比如直接点击窗口等等在。

日志可用于确定是否是问题所在:/geth/chaindata/LOG。如果日志以以下语句结尾应该是同样的问题。

xx:xx:xx.xxxxxx db@close closing
xx:xx:xx.xxxxxx db@close done

启动以太坊私有链_siteethfans.org 以太坊私有链_以太坊 私有链

问题解决了

参考中的答案,问题的解决方法也很简单:

1.在geth控制台输入以下命令:

启动以太坊私有链_siteethfans.org 以太坊私有链_以太坊 私有链

`geth removedb

2.重新初始化创世块

geth init genesis.json

3.等待节点完成同步

4.用合适的方式关闭geth控制台:ctrl+c或者输入exit命令

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息