博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
以太坊执行miner.start返回null
阅读量:6091 次
发布时间:2019-06-20

本文共 887 字,大约阅读时间需要 2 分钟。

想知道更多关于区块链技术知识,请百度【链客区块链技术问答社区】链客,有问必答!!

问题场景

最近技术群中的朋友经常问到这样的问题,环境搭建已经搭建好,geth节点也成功启动,可为什么当执行miner.start()方法时却没有挖矿,返回null。
其实,不仅仅这些朋友,本人在启动最新节点进行挖矿的时候也遇到类似的问题。今天就带大家分析一下引起这个问题可能的几个原因。
是否设置miner地址
启动节点挖矿之前,需要查看当前节点中是否已经存在账号,可执行以下命令,查看当前节点下面是否有账号存在。

personal.listAccounts

["0xc040cbd8a189d36f580fa83c2ffe3a26fb3e6a7e", "0xe0d1de6c934049fe4847b64becff5885bdb83fa4"]

当确认账户已经存在时,可以设置Etherbase。先查看以下coinbase账户:

eth.coinbase

"0xc040cbd8a189d36f580fa83c2ffe3a26fb3e6a7e"

通过上面的命令,可以看到coinbase的账户地址,也就是上面查看地址查到第一个地址。

执行设置miner地址:

miner.setEtherbase(eth.coinbase)
true

也可以执行执行以下命令进行设置:

miner.setEtherbase(eth.accounts[0])
true

然后,可以再执行挖矿命令,查看是否问题是否解决。

节点误报
另外一种情况就是其实miner.start()命令已经执行成功,只不过节点返回null。如果是dev模式,可以使用eth.blockNumber查看一下区块高度是否增加。
节点版本问题
本人安装的geth-1.7.3版本的节点,在dev环境下验证发现,当执行miner.start()时,返回null。但其实miner已经执行,只不过它在等待你发送交易之后才会生成新的区块。也就是说执行了miner.start(),它一直在等待,这是发送一笔交易,再查看区块高度发现已经增加一块。

转载地址:http://iimwa.baihongyu.com/

你可能感兴趣的文章
solr学习(一)_solr4.2.0在tomcat6.0+win7上的部署
查看>>
redis sort
查看>>
iptables详解
查看>>
C语言学习笔记(五) 预处理符号
查看>>
SVN cleanup操作反复失败解决办法
查看>>
JavaSE_02基本语法
查看>>
MWC2015记者观展(二) 百年不遇,网络架构深层调整
查看>>
可靠传输协议(RTP)--EIGRP
查看>>
Windows Server 2012 R2的森林和域级别
查看>>
Visual Studio 自定义项目模版
查看>>
sed简单使用
查看>>
驱动开发中使用安全字符串函数
查看>>
老子经典名言解读
查看>>
centos64 安装apache
查看>>
协同过滤推荐算法
查看>>
Android开发中“即编即达”的用户模型
查看>>
HIVE安装配置
查看>>
Rainbond 5.1.4发布,复杂微服务架构整体升级和回滚
查看>>
Ubuntu 14.04 Apache 从 2.2 迁移至 2.4 重要提示
查看>>
字符串中重复出现的最长的子字符串【source:程序员面试宝典p238】
查看>>