繁体   English   中英

以太坊创世纪封锁私人网络

[英]Ethereum Genesis Block Private Network

我想在私人网络上挖掘。

如何在边境以太坊中为私人网络创建一个创世块?

我已经看到: https//blog.ethereum.org/2015/07/27/final-steps/但这是为了获取公共Genesis块。

{
    "nonce": "0x0000000000000042",
    "difficulty": "0x000000100",
    "alloc": {

    },
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "coinbase": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "gasLimit": "0x16388"
}

您可以在此处简单地获取生成的并修改帐户和余额。

同时将气体限制设置为更高的数字,如0x2dc6c0 (3mio),并将难度降低到0xb

您可以基本上创建任何您喜欢的Genesis Block,只要它根据Yellowpaper 4.3.4有效 阻止标题有效性

Genesis Block不表示矿工在哪个区块链上工作。 这是通过连接到正确的对等网络来定义的,或者,如果您在运行多个Blockchains的网络上使用发现机制,则使用网络ID。

(Genesis)Block描述了这个特定Block的参数,它们是根据Miner的算法设置的。 当然,任何非法行为都会被共识机制所拒绝。

总之,您可以对所有自定义区块链使用相同的GB。

在数学验证方面必须是正确的值是nonce (工作证明), mixhash (Fowler-Noll-Vo减少DAG值集), 时间戳 (创建时间)。 此示例中的令人讨厌的值是原始Frontier版本Genesis Block的副本。 parentHash指向链中的父块,Genesis Block是唯一允许和需要0的块。 alloc允许使用Ether“预填充”帐户,但这里不需要,因为我们可以非常快速地挖掘Ether。

难点定义了Miner(哈希)算法满足条件以找到有效块。 在测试网络上,它通常保持较小,以便为每次迭代找到一个块。 这对于测试很有用,因为需要在区块链上执行事务。 块生成频率是区块链的响应时间的一种。

gasLimit是交易可以燃烧的Gas的上限。 它继承到下一个Block。 extraData是32字节的自由文本,你可以在区块链上使用et(h)识别智能东西:) coinbase是在这个Block中以Ether为单位获得挖掘和事务执行奖励的地址。 它可以是0,因为它将根据找到Block的Miner的coinbase (并添加了事务)为每个新块设置。

我在这里详细记录了这一点。

希望这可以帮助 :)

{
"config": {
           "chainId":2010,
           "homesteadBlock":0,
           "eip155Block":0,
           "eip158Block":0
           },
"gasLimit": "0x8000000",     
"difficulty": "0x400",
"alloc": {}
}

Geth版本1.9(go1.9)仅接受以上属性

具体而言, 这篇简短的文章很好地解释了私人网络的成因块建设。

我想在这里提到的一件事是,创世块的唯一区别是它没有引用前一个块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM