目录
创世块文件
{
"config": {
"chainId": 18,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0
},
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x2",
"extraData" : "",
"gasLimit" : "0xffffffff",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}
创世块中对应字段说明:
| key | 说明 |
|---|---|
| chainId | 网络ID,区分不同的区块链网络,值为0代表以太坊主网 |
| coinbase | 一个账户地址,挖矿收益最终归属的账户 |
| difficulty | 挖矿难度 |
| gasLimit | 创世块能够消耗gas的上限,即最多消耗的gas值;智能合约运行在EVM上,运行机器码指令,每个指令都会对应相应的gas消耗,gas与以太不是等价的,它们之前有换算关系,gas * gasPrice = ether, gasPrice是gas单价(单位wei),可以上下浮动(感觉跟市场油价一样会发生变动) |
| nonce | 随机数,挖矿的时候寻找到符合条件的nonce值 |
| mixhash | 本块的hash值,因为是创世块,所以没有hash值,初始化为0 |
| parentHash | 父块hash值,因为是创世块,所以没有父块hash值,初始化为0 |
| timestamp | 时间戳,是从1970-01-01 00:00:00开始计算以秒为单位 |
Geth常用参数说明
可以通过geth -h帮助指令查看所以指令及对应功能说明,以下常用指令说明
| 指令 | 说明 |
|---|---|
| --datadir | 指定之前初始化的数据目录文件 |
| --networkid | 区分不同的区块链网络,与创世块chainId一样,0为以太坊主网 |
| --port | 节点之间互相通信的端囗,默认是30303 |
| --rpc | 开启远程调用服务,执行智能合约时连接的节点是借助于rpc服务 |
| --rpcport | 远程服务端囗,默认是8545 |
| --rpcapi | 远程服务提供的远程服务调用函数集(db、net、eth、web3、personal等) |
| --rpccorsdomain | 指定可以接收请求来源的域名列表(浏览器访问时必须开启),默认为 “*” |
| --gasprice | gas的单价,单位wei |
| --allow-insecure-unlock | 允许在Geth命令窗囗解锁账户(新版本1.9.0+增加的选项) |
| --console | 进入管理后台(如修改rpc端囗) |
Geth启动步骤
1、生成创世块文件
[root@localhost geth-alltools]# mkdir rungeth #创建目录,用于存储创世块及其他执行脚本
[root@localhost geth-alltools]# cd rungeth #进入目录
[root@localhost rungeth]# vi genesis.json #生成创世块文件
将上面的创世块文件内容拷贝到genesis.json文件,之后保存即可。
注:chainId=18不是以太坊主网,挖矿挖到的以太并不值钱,所以搭建的是私链,用于开发使用。
2、初始化
第一次安装完Geth需要初始化,或是需要修改创世块重新设置时需要初始化,

本文详细介绍了如何搭建以太坊私有链,包括创建创世块文件、初始化、启动Geth节点,并展示了Geth客户端的常用操作,如查看账户、创建账户、挖矿、转账等。同时,解释了创世块文件中的关键参数以及Geth启动时的命令行选项。

6714

被折叠的 条评论
为什么被折叠?



