首页 文章

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

提问于
浏览
6

我想在私人网络上挖掘 .

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

我见过:https://blog.ethereum.org/2015/07/27/final-steps/但这是为了获得公众创世纪封锁 .

5 回答

  • 2
    {
        "nonce": "0x0000000000000042",
        "difficulty": "0x000000100",
        "alloc": {
    
        },
        "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "coinbase": "0x0000000000000000000000000000000000000000",
        "timestamp": "0x00",
        "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
        "gasLimit": "0x16388"
    }
    
  • -1

    您可以简单地获取生成的here并修改帐户和余额 .

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

  • 3

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

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

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

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

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

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

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

    我已经详细记录了这一点here .

    希望这可以帮助 :)

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

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

  • 2

    具体而言,this short article详细解释了专用网络的成因块建设 .

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

相关问题