因为在网上阅读各种教程之后,并没有成功搭建私有链(好像因为是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.
2.http://m.blog.csdn.net/vinsuan1993/article/details/75208203
3.http://blog.csdn.net/u012974916/article/details/52769783