主页 > imtoken钱包官网登录 > 以太坊创建创世块
以太坊创建创世块
创世块文件示例
{
“配置”:{
“链号”:15,
“家园块”:0,
“eip155块”:0,
“eip158块”:0
},
“难度”:“4”,
"gasLimit": "2100000",
“分配”:{
“7df9a875a174b3bc565e6424a0050ebc1b2d1d82”:{
“余额”:“300000”
},
“f41c74c9ae680c1aa78f42e5647a62f353b7bdde”:{
“余额”:“400000”
}
}
}
在config、difficulty、gasLimit和alloc创建块文件中,这些文件是必需的。
开始编码
创建创世块文件
/用户/liyuechun/Desktop/1015/tonodes
liyuechun:tonodes yuechunli$ cat > genesis.json
{
“配置”:{
“链号”:15,
“家园块”:0,
“eip155块”:0以太坊区块数据结构,
“eip158块”:0
},
“难度”:“4”,
"gasLimit": "2100000",
“分配”:{
“7df9a875a174b3bc565e6424a0050ebc1b2d1d82”:{
“余额”:“300000”
},
“f41c74c9ae680c1aa78f42e5647a62f353b7bdde”:{
“余额”:“400000”
}
}
}
^C
liyuechun:tonodes yuechunli$ cat genesis.json
{
“配置”:{
“链号”:15,
“家园块”:0以太坊区块数据结构,
“eip155块”:0,
“eip158块”:0
},
“难度”:“4”,
"gasLimit": "2100000",
“分配”:{
“7df9a875a174b3bc565e6424a0050ebc1b2d1d82”:{
“余额”:“300000”
},
“f41c74c9ae680c1aa78f42e5647a62f353b7bdde”:{
“余额”:“400000”
}
}
}
liyuechun:tonodes yuechunli$
初始化区块链,创建文件夹存放区块数据
liyuechun:tonodes yuechunli$ geth init genesis.json --datadir 区块链数据
警告 [10-15|07:50:09] 没有设置 etherbase,也没有找到默认帐户
INFO [10-15|07:50:09] 分配的缓存和文件句柄 database=/Users/liyuechun/Desktop/1015/tonodes/blockchainData/geth/chaindata cache=16 handles=16
INFO [10-15|07:50:09] 编写自定义创世块
INFO [10-15|07:50:09] 成功写入创世状态数据库=chaindata hash=884fa3…0409fd
INFO [10-15|07:50:09] 分配的缓存和文件句柄 database=/Users/liyuechun/Desktop/1015/tonodes/blockchainData/geth/lightchaindata cache=16 handles=16
INFO [10-15|07:50:09] 编写自定义创世块
INFO [10-15|07:50:09] 成功写入创世状态数据库=lightchaindata hash=884fa3…0409fd
liyuechun:tonodes yuechunli$
打开终端
geth --networkid 123 --datadir blockchain数据控制台
警告
WARN [10-1507:53:09] 未设置 etherbase,也未找到默认帐户
出现此警告的原因是我们没有在创世块中创建任何帐户。
查看余额
> eth.getBalance("7df9a875a174b3bc565e6424a0050ebc1b2d1d82")
300000
>
开始挖矿
> miner.start()
INFO [10-15|07:57:15] 更新的挖掘线程 threads=0
INFO [10-15|07:57:15] 交易池价格阈值更新价格=18000000000
错误 [10-15|07:57:15] 没有 etherbase 就无法开始挖掘 err="必须明确指定 etherbase 地址"
错误:缺少 etherbase:必须明确指定 etherbase 地址
在 web3.js:3104:20
在 web3.js:6191:15
在 web3.js:5004:36
在:1:1
>
如果直接挖矿,就会出现上面的错误。 需要设置挖矿账户。
> miner.setEtherbase("7df9a875a174b3bc565e6424a0050ebc1b2d1d82")
真的
>
接下来开始挖矿。
> miner.start()