使用Geth1.6搭建私有链

来源:互联网 发布:新开的淘宝店怎么找货 编辑:程序博客网 时间:2024/05/21 23:33

因为在网上阅读各种教程之后,并没有成功搭建私有链(好像因为是geth的版本原因),所以根据自己的经历和各种错误之后搭建成功的过程记录下来。

搭建环境:ubuntu16.04,geth1.6

1.建立目录

在Home建立文件piccgenesis.json,里面的内容为

{    "nonce":"0x0000000000000042",    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",    "difficulty": "0x4000",    "alloc": {},    "coinbase":"0x0000000000000000000000000000000000000000",    "timestamp": "0x00",    "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",    "extraData": "0x000000",    "config":{      "chainId":15,      "homesteadBlock":0,      "eip155Block":0,      "eip158Block":0},    "gasLimit":"0xffffffff"}

注意 “config”是很多教程没有出现的,具体内容还没有理解,在另一份教程中看到,加入后成功。

Fatal: invalid genesis file: missing 0x prefix for hex data://这个错误信息意思很明白,就是你的json文件中,对于16进制数据,需要加上0x前缀Fatal: invalid genesis file: hex string has odd length: //从v1.6开始,设置的十六进制数值,不能是奇数位, 比如不能是0x0,而应该是0x00。Fatal: failed to write genesis block: genesis has no chain configuration ://这个错误信息,就是说,你的json文件中,缺少config部分。看到这个信息,我们不需要把geth退回到v1.5版本,而是需要加上config部分。

这是我安装时遇到的三个错误,按着指示修改即可。

2.建立创世区块

打开终端

输入basepath=$(cd `dirname $0` ; pwd)

然后

geth --datadir "$basepath/chain" init piccgenesis.json

3.创建私有链

geth --datadir "$basepath/chain" --nodiscover console 2>>geth.log

到这一部私有链就创建成功了。

4.建立账户

在终端输入

personal.newAccount("123456")//123456是密码阔以自己修改;

输入命令eth.accounts可以查看新账户。

5.挖矿

输入miner.start(),变开始在私有链链上进行挖矿,感觉难度设的不太好,我挖了10分钟才挖到下一个区块。命令miner.stop()用来停止挖矿。

如果想看自己挖到没有,阔以打开终端,然后输入tail -f geth.log查看日志。




引用

1.

【区块链】从0开始搭建基于以太坊的区块链开发环境

http://www.ehcoo.com/ether1.html


2.http://m.blog.csdn.net/vinsuan1993/article/details/75208203


3.http://blog.csdn.net/u012974916/article/details/52769783