如何制作比特币硬叉

问题描述 投票:0回答:1

我正在探索比特币源代码一段时间,并成功创建了一个带有新生成块的本地比特币网络。 现在我试图理解硬叉的过程(如果我在这里使用错误的术语,我指的是区块链被拆分而不是挖掘新的起源)。 我正在尝试在BitcoinCash源代码中找到这种方法,但除了检查点之外到目前为止还没有。

//UAHF fork block.
  {478558, uint256S("0000000000000000011865af4122fe3b144e2cbeea86"
          "142e8ff2fb4107352d43") }

所以我理解上面的检查点负责链分裂。但我无法在源代码中找到强制执行此规则的位置,即在块号478558之后指定其具有与比特币不同的块的代码。 有谁能让我在这里找到正确的方向?

blockchain bitcoin
1个回答
0
投票

您在源代码中没有特定的规则说“这是fork启动的地方”。检查点仅用于引导新节点,检查它们以确保正在下载和验证正确的链。

根据定义,硬分叉只是共识规则的变化。本质上,如果您引入新的共识突破规则,任何运行比特币的节点都将拒绝那些不兼容的块,并且一旦一个块被拒绝(并在另一个链上开采),您现在将拥有不同的链。

作为旁注,你应该更改chainparams.cpp中的默认P2P端口和P2P消息头,这样它就不会尝试与其他比特币节点连接。

© www.soinside.com 2019 - 2024. All rights reserved.