目录
启动节点同步
同步主网区块
同步测试网络的区块
同步Ropsten测试网络的区块
同步RinkeyBy测试网络区块
搭建自己的私有链
创建genesis.json
init初始化gensis.json
启动私链
启动节点同步
同步主网区块
安装好了Geth,现在我们可以尝试运行以下它。执行下面的命令,geth就会开始同步区块,并存储在当前目录下。这里的 --syncmode fast 参数表示我们会以“快速”模式同步区块。
在这种模式下,我们指挥下载每个区块头和区块体,但不会执行验证所有的交易,直到所有区块同步完毕再去获取一个系统的状态。这样就节省了很多交易验证的时间。
geth --datadir .--syncmode fast
通常,在同步以太坊区块链时,客户端会一开始就下载并验证每个块和每个交易,也就是说可以从创世区块开始。
毫无疑问,如果我们不加 --syncmode fast参数,同步将会花费很长时间,并且具有很高的资源要求(它将需要更多的RAM,如果你没有快速存储,则需要很长时间)。
有些文章会把这个参数写成 --fast,这是以前快速同步模式的参数写法,现在已经被
--syncmode fast 取代
同步测试网络的区块
同步Ropsten测试网络的区块
geth --testnet --datadir .--syncmode fast
--testnet 则个参数会告诉 geth 启动并连接到最新的测试网络,也就是 Ropsten 。测试网络的区块和交易数量会明显少于主网,所以会更快一点。但即便是用快速模式同步测试网络,也会需要几个小时的时间。
同步RinkeyBy测试网络区块
geth --Rinkeby --datadir .--syncmode fast
搭建自己的私有链
创建genesis.json
因为公共网络的区块数量太多,同步耗时太长,我们未来方便快速了解Geth,可以试着用它来搭一个只属于自己的私链
首先,我们需要创建网络的“创世(genesis)”状态,这写在一个小小的JSON文件里(例如,我们将其命名未genesis.json):
chainId:链id,尽量不要和公链id和测试链id一致
difficulty:挖矿难度系数,2000不算大
gasLimit:一个块里面 gas 的上限要求
alloc:初始账号信息,包含一个地址和对象,表示创世区块一创建,balance里面有多少钱
balance:余额,单位是wei
{
"config": {
"chainId": 15,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0
},
"alloc": {
"0x1E17ECE93b3c72277E4B22a58B87934C9F654089":{"balance":"900000000000000000000"}},
"coinbase": "0x0000000000000000000000000000000000000000",
"difficulty": "0x200",
"extraData": "",
"gasLimit": "0x2fefd8",
"nonce": "0x0000000000000042",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x00"
}
init初始化gensis.json
要创建一条以它为创世块的区块链,我们可以使用下面的命令:
其中 path/to/custom/data/folder 是你存储的目录
geth --datadir path/to/custom/data/folder init gensis.json
init 初试化私链成功
geth --datadir ~/桌面/geth-project/myChain/ init ~/桌面/geth-project/myChain/genesis.json
启动私链
在当前目录下运行 geth ,就会启动这条私链
注意要将 networkid 设置为创世块配置里的 chainId 一致
geth --datadir path/to/custom/data/folder --networkid 15
我们可以看到节点正常启动:
geth --datadir ~/桌面/geth-project/myChain --networkid 15
文章来源:https://www.toymoban.com/news/detail-709707.html
这样,我们就已经启动了一条自己的私链文章来源地址https://www.toymoban.com/news/detail-709707.html
到了这里,关于以太坊创建私有链 go-ethereum的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!