Encryption 以太坊创世纪区块专用网络

Encryption 以太坊创世纪区块专用网络,encryption,cryptography,blockchain,ethereum,Encryption,Cryptography,Blockchain,Ethereum,我正试图在私人网络上进行挖掘 如何为frontier以太坊的专用网络创建genesis区块 我已经看到了:但这是为了获得public Genesis块。您可以简单地获取生成的块并修改帐户和余额 同时,将气体限制设置为更高的数值,如0x2dc6c0(3mio),并将难度降低到0xb,您基本上可以创建您喜欢的任何Genesis区块,只要它根据黄皮书4.3.4有效。块头有效性 { "nonce": "0x0000000000000042", "difficulty": "0x00000

我正试图在私人网络上进行挖掘

如何为frontier以太坊的专用网络创建genesis区块


我已经看到了:但这是为了获得public Genesis块。

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


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

,您基本上可以创建您喜欢的任何Genesis区块,只要它根据黄皮书4.3.4有效。块头有效性

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

    },
    "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "coinbase": "0x0000000000000000000000000000000000000000",
    "timestamp": "0x00",
    "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "gasLimit": "0x16388"
}
Genesis区块没有指明矿工在哪个区块链上工作。这是通过连接到正确的对等网络来定义的,或者,如果您在运行多个区块链的网络上使用发现机制,则使用网络ID

(Genesis)块描述该特定块的参数,并根据Miner算法进行设置。当然,任何非法行为都将被共识机制拒绝

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

在数学验证方面必须正确的值是nonce(工作证明)、mixhash(Fowler–Noll–Vo reduced DAG value set)、timestamp(创建时间)。本例中的极客值是原始Frontier release Genesis块的副本。parentHash指向链中的父块,Genesis块是唯一允许和需要0的块。alloc允许用乙醚“预填充”账户,但这里不需要,因为我们可以很快地开采乙醚

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

gasLimit是事务可以燃烧的气体的上限。它被继承到下一个块中。extraData是32字节的自由文本,您可以在其中设置(h)在区块链上实现智能化:)coinbase是获得该区块的挖掘和交易执行奖励(以太)的地址。这里可以是0,因为它将根据发现区块(并添加交易)的矿工的币库为每个新区块设置

我更详细地记录了这一点


希望这有帮助:)

具体来说,专用网络的genesis模块构建在中有很好的解释

我想在这里提到的一件事是,genesis区块的唯一区别是,它没有参考先前的区块

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

Geth版本1.9(go1.9)只接受上述属性

这对我很有效。它基本上是一个空白的genesis区块,没有任何最初的区块销售。我发现该页面很难理解,虽然这可能从理论上回答了这个问题,但在这里包括答案的基本部分,并提供链接供参考。