err="etherbase address must be explicitly specified"
如果要初始化区块链的话就用创始区块
如果通过创世区块来初始化区块链的话,首先需要一个初始化区块链的json文件,如下。
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"difficulty": "4",
"gasLimit": "2100000",
"alloc": {
"7df9a875a174b3bc565e6424a0050ebc1b2d1d82": {
"balance": "300000"
},
"f41c74c9ae680c1aa78f42e5647a62f353b7bdde": {
"balance": "400000"
}
}}
config, difficulty, gasLimit, alloc创始区块文件中,这几个文件是必须的。
初始化区块链,并且创建一个文件夹来存储区块数据
geth init genesis.json --datadir private_data
打开终端
geth --networkid 888 --datadir private_data console
查看余额
> eth.getBalance("7df9a875a174b3bc565e6424a0050ebc1b2d1d82")
300000>
开始 mining
> miner.start()
INFO [10-15|07:57:15] Updated mining threads threads=0
INFO [10-15|07:57:15] Transaction pool price threshold updated price=18000000000
ERROR[10-15|07:57:15] Cannot start mining without etherbase err="etherbase address must be explicitly specified"
Error: etherbase missing: etherbase address must be explicitly specified
at web3.js:3104:20
at web3.js:6191:15
at web3.js:5004:36
at <anonymous>:1:1
>
如果你直接挖矿,会出现上面的错误。需要设置一个挖矿的账号。
> miner.setEtherbase("7df9a875a174b3bc565e6424a0050ebc1b2d1d82")true
>
好了,那么接下来就可以开始挖矿了,看起来和写起来都是相对比较简单的,大家加油努力学习,哈哈。
err="etherbase address must be explicitly specified"的更多相关文章
- centos7部署ethereum私有链
https://github.com/ethereum/go-ethereum/wiki http://book.8btc.com/books/6/ethereum/_book/public-chai ...
- Linux内核--网络栈实现分析(六)--应用层获取数据包(上)
本文分析基于内核Linux 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7541907 更多请看专栏,地址http: ...
- runv containerd 流程分析
当runv需要启动一个容器的时候,首先需要启动containrd,作为该容器的daemon.因此,启动containerd的相关代码也是从runv/start.go开始.最终,启动containerd ...
- go-mysql
1.GO语言实现的简单TCP服务代码 package main import ( "net" "fmt" ) var ( maxRead = 1100 msgS ...
- golang实现ping命令
// Copyright 2009 The Go Authors. All rights reserved.// Use of this source code is governed by a B ...
- TCP内核源码分析笔记
Table of Contents 1 术语 1.1 ABC 1.2 SACK 1.3 D-SACK 1.4 FACK 1.5 F-RTO 1.6 nagle算法 1.7 cork算法 1.8 tem ...
- accept系统调用内核实现
用户态对accept的标准使用方法: if ((client_fd = accept(sockfd, (struct sockaddr *)&remote_addr, &sin_siz ...
- nodeJS之域名DNS
前面的话 本文将详细介绍域名解析模块DNS 工作原理 打开浏览器,在上方地址栏输入网址的那一刻,这个回车按了之后,发生了很多事情.首先,计算机只懂0和1,也就是说人类的字母网址计算机是不懂的,它只认识 ...
- Socket层实现系列 — accept()的实现(一)
本文主要介绍了accept()的系统调用.Socket层实现,以及TCP层实现. 内核版本:3.6 Author:zhangskd @ csdn blog 应用层 int accept(int soc ...
随机推荐
- java如何在不访问数据库就可以对list分页?
废话不多说,直接上代码 import java.util.ArrayList; import java.util.List; public class demo { public static voi ...
- jvm系列(七):jvm调优
转自:https://www.cnblogs.com/ityouknow/p/6437037.html 16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其 ...
- iOS 9.0中UIAlertController的用法。
1.我为什么要写这篇博客记录它? 答:因为 UIAlertView和UIActionSheet 被划线了 苹果不推荐我们使用这两个类了,也不再进行维护和更新,为了以后方便使用我来记录一下.如图所示 正 ...
- html 输入框ios苹果手机显示九宫格数字键盘
只需要在input标签加上type=‘tel’ 即可
- swoole聊天室
服务端: <?phpclass Chat{ const HOST = '0.0.0.0';//ip地址 0.0.0.0代表接受所有ip的访问 const PART = 8080;//端口号 pr ...
- css多行超出时,超出高度,显示省略号
.layout display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
- VUE 单选下拉框Select中动态加载 默认选中第一个
<lable>分类情况</lable> <select v-model="content.tid"> <option v-for=&quo ...
- idou老师教你学Istio 14:如何用K8S对Istio Service进行流量健康检查
Istio利用k8s的探针对service进行流量健康检查,有两种探针可供选择,分别是liveness和readiness: liveness探针用来侦测什么时候需要重启容器.比如说当liveness ...
- Octave(数据绘制)
>> t=[:0.01:0.98]; >> y1 = sin(*pi**t); >> plot(t,y1); >> y2 = cos(*pi**t); ...
- 洛谷P1330 封锁阳光大学【dfs】
题目:https://www.luogu.org/problemnew/show/P1330 题意:一个无向边,一个河蟹可以占领一个点,但一个点只能被一个河蟹占领. 占领了一个点之后,这个点所有的边都 ...