如果要初始化区块链的话就用创始区块

 

如果通过创世区块来初始化区块链的话,首先需要一个初始化区块链的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"的更多相关文章

  1. centos7部署ethereum私有链

    https://github.com/ethereum/go-ethereum/wiki http://book.8btc.com/books/6/ethereum/_book/public-chai ...

  2. Linux内核--网络栈实现分析(六)--应用层获取数据包(上)

    本文分析基于内核Linux 1.2.13 原创作品,转载请标明http://blog.csdn.net/yming0221/article/details/7541907 更多请看专栏,地址http: ...

  3. runv containerd 流程分析

    当runv需要启动一个容器的时候,首先需要启动containrd,作为该容器的daemon.因此,启动containerd的相关代码也是从runv/start.go开始.最终,启动containerd ...

  4. go-mysql

    1.GO语言实现的简单TCP服务代码 package main import ( "net" "fmt" ) var ( maxRead = 1100 msgS ...

  5. golang实现ping命令

    // Copyright 2009 The Go Authors.  All rights reserved.// Use of this source code is governed by a B ...

  6. 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 ...

  7. accept系统调用内核实现

    用户态对accept的标准使用方法: if ((client_fd = accept(sockfd, (struct sockaddr *)&remote_addr, &sin_siz ...

  8. nodeJS之域名DNS

    前面的话 本文将详细介绍域名解析模块DNS 工作原理 打开浏览器,在上方地址栏输入网址的那一刻,这个回车按了之后,发生了很多事情.首先,计算机只懂0和1,也就是说人类的字母网址计算机是不懂的,它只认识 ...

  9. Socket层实现系列 — accept()的实现(一)

    本文主要介绍了accept()的系统调用.Socket层实现,以及TCP层实现. 内核版本:3.6 Author:zhangskd @ csdn blog 应用层 int accept(int soc ...

随机推荐

  1. java如何在不访问数据库就可以对list分页?

    废话不多说,直接上代码 import java.util.ArrayList; import java.util.List; public class demo { public static voi ...

  2. jvm系列(七):jvm调优

    转自:https://www.cnblogs.com/ityouknow/p/6437037.html 16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其 ...

  3. iOS 9.0中UIAlertController的用法。

    1.我为什么要写这篇博客记录它? 答:因为 UIAlertView和UIActionSheet 被划线了 苹果不推荐我们使用这两个类了,也不再进行维护和更新,为了以后方便使用我来记录一下.如图所示 正 ...

  4. html 输入框ios苹果手机显示九宫格数字键盘

    只需要在input标签加上type=‘tel’  即可

  5. swoole聊天室

    服务端: <?phpclass Chat{ const HOST = '0.0.0.0';//ip地址 0.0.0.0代表接受所有ip的访问 const PART = 8080;//端口号 pr ...

  6. css多行超出时,超出高度,显示省略号

    .layout display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;

  7. VUE 单选下拉框Select中动态加载 默认选中第一个

    <lable>分类情况</lable> <select v-model="content.tid"> <option v-for=&quo ...

  8. idou老师教你学Istio 14:如何用K8S对Istio Service进行流量健康检查

    Istio利用k8s的探针对service进行流量健康检查,有两种探针可供选择,分别是liveness和readiness: liveness探针用来侦测什么时候需要重启容器.比如说当liveness ...

  9. Octave(数据绘制)

    >> t=[:0.01:0.98]; >> y1 = sin(*pi**t); >> plot(t,y1); >> y2 = cos(*pi**t); ...

  10. 洛谷P1330 封锁阳光大学【dfs】

    题目:https://www.luogu.org/problemnew/show/P1330 题意:一个无向边,一个河蟹可以占领一个点,但一个点只能被一个河蟹占领. 占领了一个点之后,这个点所有的边都 ...