|
使用geth端搭建go-ethereum private chain
(cpp-ethereum以后再说)
环境ubuntu系统
geth
一,安装geth
打开unbuntu终端,输入sudo apt-get install geth
输入geth --help 检验是否安装成功
二,配置创世区块文件
自定义创世区块文件,将创世区块文件写入一个json文件,并命名,如 genesis.json
在home 目录下新建一个文件夹,并命名,例如privatechain, 将编译的json文件保存在其中,供使用,
样例 1: {
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"difficulty": "200000000",
"gasLimit": "2100000",
"alloc":{
"7df9a875a174b3bc565e6424a0050ebc1b2d1d82": {"balance": "300000" },
"f41c74c9ae680c1aa78f42e5647a62f353b7bdde": {"balance": "400000" }
}
}
样例2:{
"config": {
"chainId": 10,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"coinbase" :"0x0000000000000000000000000000000000000000",
"difficulty" : "0x20000",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" :"0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00",
"alloc" : {},
}
参数解释:
config为配置文件,chainId为私有链id,后面会用到,若为1,则将连上公链,
mixhash |
与nonce配合用于挖矿,由上一个区块的一部分生成的hash。注意他和nonce的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。 |
nonce |
nonce就是一个64位随机数,用于挖矿,注意他和mixhash的设置需要满足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章节所描述的条件。 |
difficulty |