以太坊创世块专用网络
Ethereum Genesis Block Private Network
我正在尝试在专用网络上进行挖矿。
如何在前沿以太坊中为私有网络创建创世块?
我已经看到:https://blog.ethereum.org/2015/07/27/final-steps/ 但这是为了获得 public 创世块。
您可以简单地使用生成的 here 并修改帐户和余额。
同时将气体限制设置为更高的数字,例如 0x2dc6c0
(3mio),并将难度降低至 0xb
{
"nonce": "0x0000000000000042",
"difficulty": "0x000000100",
"alloc": {
},
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x16388"
}
你基本上可以创建任何你喜欢的创世块,只要它根据 黄皮书 4.3.4 是有效的。区块头有效性.
Genesis Block 并未指明矿工在哪个区块链上工作。这是通过连接到正确的对等网络来定义的,或者,如果您在具有多个区块链 运行 的网络上使用发现机制,则使用网络 ID。
(创世)块描述了这个特定块的参数,它们是根据矿工的算法设置的。当然,任何违法行为都会被共识机制拒绝。
总之,您可以为所有自定义区块链使用相同的 GB。
在数学验证方面必须正确的值是 nonce(工作量证明),mixhash(Fowler– Noll–Vo 减少 DAG 值集),timestamp(创建时间)。此示例中的极客值是原始 Frontier 版本 Genesis Block 的副本。 parentHash 指向链中的父块,创世块是唯一允许和需要 0 的块。 alloc 允许 "pre-fill" 帐户使用以太币,但这里不需要,因为我们可以非常快速地挖掘以太币。
难度[=41=]定义了矿工(哈希)算法找到有效区块所满足的条件。在测试网络上,它通常保持较小,以便为每次迭代找到一个块。这对于测试很有用,因为需要在区块链上执行交易。块生成频率是区块链的响应时间。
gasLimit是一笔交易可以燃烧的Gas的上限。它被继承到下一个块中。 extraData 是 32 字节的自由文本,您可以在其中 et(h)ernalise 区块链上的智能事物 :) coinbase 是获得该区块的挖矿和交易执行奖励,以以太币形式。它可以在这里为 0,因为它将根据找到区块(并添加交易)的矿工的 coinbase 为每个新区块设置。
我已经对此进行了更详细的记录 here。
希望对您有所帮助:)
具体来说,私有网络的创世块构建在 this short article 中有很好的解释。
我想在这里提到的一件事是,创世块的唯一区别是它没有引用前一个块。
{
"config": {
"chainId":2010,
"homesteadBlock":0,
"eip155Block":0,
"eip158Block":0
},
"gasLimit": "0x8000000",
"difficulty": "0x400",
"alloc": {}
}
Geth 版本 1.9 (go1.9) 仅接受以上属性
我正在尝试在专用网络上进行挖矿。
如何在前沿以太坊中为私有网络创建创世块?
我已经看到:https://blog.ethereum.org/2015/07/27/final-steps/ 但这是为了获得 public 创世块。
您可以简单地使用生成的 here 并修改帐户和余额。
同时将气体限制设置为更高的数字,例如 0x2dc6c0
(3mio),并将难度降低至 0xb
{
"nonce": "0x0000000000000042",
"difficulty": "0x000000100",
"alloc": {
},
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"timestamp": "0x00",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x16388"
}
你基本上可以创建任何你喜欢的创世块,只要它根据 黄皮书 4.3.4 是有效的。区块头有效性.
Genesis Block 并未指明矿工在哪个区块链上工作。这是通过连接到正确的对等网络来定义的,或者,如果您在具有多个区块链 运行 的网络上使用发现机制,则使用网络 ID。
(创世)块描述了这个特定块的参数,它们是根据矿工的算法设置的。当然,任何违法行为都会被共识机制拒绝。
总之,您可以为所有自定义区块链使用相同的 GB。
在数学验证方面必须正确的值是 nonce(工作量证明),mixhash(Fowler– Noll–Vo 减少 DAG 值集),timestamp(创建时间)。此示例中的极客值是原始 Frontier 版本 Genesis Block 的副本。 parentHash 指向链中的父块,创世块是唯一允许和需要 0 的块。 alloc 允许 "pre-fill" 帐户使用以太币,但这里不需要,因为我们可以非常快速地挖掘以太币。
难度[=41=]定义了矿工(哈希)算法找到有效区块所满足的条件。在测试网络上,它通常保持较小,以便为每次迭代找到一个块。这对于测试很有用,因为需要在区块链上执行交易。块生成频率是区块链的响应时间。
gasLimit是一笔交易可以燃烧的Gas的上限。它被继承到下一个块中。 extraData 是 32 字节的自由文本,您可以在其中 et(h)ernalise 区块链上的智能事物 :) coinbase 是获得该区块的挖矿和交易执行奖励,以以太币形式。它可以在这里为 0,因为它将根据找到区块(并添加交易)的矿工的 coinbase 为每个新区块设置。
我已经对此进行了更详细的记录 here。
希望对您有所帮助:)
具体来说,私有网络的创世块构建在 this short article 中有很好的解释。
我想在这里提到的一件事是,创世块的唯一区别是它没有引用前一个块。
{
"config": {
"chainId":2010,
"homesteadBlock":0,
"eip155Block":0,
"eip158Block":0
},
"gasLimit": "0x8000000",
"difficulty": "0x400",
"alloc": {}
}
Geth 版本 1.9 (go1.9) 仅接受以上属性