以太坊私有链挖矿

以太坊节点之间能够互相链接需要满足:

  (1)相同的协议版本

  (2)相同的networkid,所以搭建私有网络最方便的方法就是通过geth命令中的--networkid选项,设置一个与主网不同的networkid(主网的networkid为1)。这也是官方推荐的方法。

建立创世纪区块文件,是一个json格式的文件:

 1 {
 2   "config": {
 3         "chainId": 1024,
 4         "homesteadBlock": 0,
 5         "eip155Block": 0,
 6         "eip158Block": 0
 7     },
 8   "alloc"      : {},
 9   "coinbase"   : "0x0000000000000000000000000000000000000000",
10   "difficulty" : "0x40000",
11   "extraData"  : "",
12   "gasLimit"   : "0xffffffff",
13   "nonce"      : "0x0000000000000042",
14   "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
15   "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
16   "timestamp"  : "0x00"
17 
18 }

创世json文件字段解释:

 

初始化创世纪节点,并设置data目录:

geth --datadir data --networkid 1024 --nodiscover --port 8193 init genesis.json

启动节点,加上console 表示启动后,启用命令行:

geth --datadir data --networkid 1024 --nodiscover --port 8193 console 2>>geth.log

2>>geth.log 将一些不必要日志输出写入一个文件,防止污染显示端

接下来则进入了console界面:

 

geth 命令的相关参数

可以查看、建立账户:

接着,开始挖矿:

 miner.start(1),设置线程数来挖矿,这个过程启动比较久,需要不断等

INFO [11-17|10:35:22.693] Generating DAG in progress               epoch=1 percentage=95 elapsed=8m25.094s

当开始出现下面指令,说明就开始挖矿了

INFO [11-17|17:20:50.011] Commit new mining work                    number=22 sealhash=2d0a1d…6c42c3 uncles=0 txs=0 gas=0 fees=0 elapsed=120.1µs
INFO [11-17|17:20:51.146] Successfully sealed new block             number=22 sealhash=2d0a1d…6c42c3 hash=d3ca44…c16b53 elapsed=1.135s
INFO [11-17|17:20:51.146] 🔗 block reached canonical chain          number=15 hash=2ce4b4…e20875
INFO [11-17|17:20:51.146] 🔨 mined potential block                  number=22 hash=d3ca44…c16b53

停止挖矿: miner.stop()

查看挖矿的高度:

最后,查看挖矿地址的eth数量:

45个,因为每挖出一个矿就会奖励 5 eth,以后会变少

 

posted @ 2018-11-17 11:27  林锅  阅读(1372)  评论(0编辑  收藏  举报