在PoS山寨币中创世区块后生成第一个区块

时间:2019-02-28 20:04:11

标签: bitcoin genesis mining pos

我目前正在出于教育目的开发测试山寨币,由于某种原因,在生成创世块之后无法生成第一个战俘块。几年前,我成功地制作了可行的破折号叉(或与过时的代码库类似的东西),但是我完全无法用现代代码库重现它。

所以,到这一点。我使用了PIVX存储库,相应地更改了 chainparams.cpp

  • 删除了旧的检查站;
  • 生成新密钥;
  • 更新了代码库中的端口;
  • 更改了 pchMessageStart 数字;
  • 更新了unixtime;
  • 在整个代码库中更改了硬币名称;
  • 产生了起源(这是正确的,我检查了很多次);
  • 编译它;
  • 发射硬币;
  • 启动cpuminer,并在日志中失败,并显示以下内容:

    2019-02-28 16:55:09错误:CheckProofOfWork():哈希与nBits不匹配
    2019-02-28 16:55:09错误:CheckBlockHeader():工作证明失败
    2019-02-28 16:55:09错误:CheckBlock():CheckBlockHeader失败
    2019-02-28 16:55:09 CreateNewBlock():TestBlockValidity失败

我用 chainparams.cpp 中的代码重新生成了创世记-与创世记生成器相同。我尝试了 gen = 1 setgenerate true ,再次收到相同的错误,并且 getmininginfo 中的 hashespersec = 0

我开始在网上搜索,发现了很多相同的问题而没有任何答案。例如,这看起来完全一样-https://bitcoin.stackexchange.com/questions/79767/cannot-mine-genesis-first-block-pivx-fork-clone

我尝试了这种线程的解决方案-https://bitcointalk.org/index.php?topic=2152157.0;prev_next=next-但也没有成功。

我以为我可能会丢失某些东西,并尝试对其他PIVX叉子进行相同操作。第一个是https://github.com/IchibaCoin/ICHIBA-具有相同的错误。第二个是https://github.com/cruxcoinsource/CruxCoin-也有相同的错误。然后我挠头,深思熟虑,并用我的testcoin对两个硬币的/ src /文件夹中的所有文件运行diff。文件完全相同,仅在关键点和ichiba之间有所不同。

chainparams.cpp 的这一部分中,我尝试了所有可能的bool组合:

fMiningRequiresPeers = true;
fAllowMinDifficultyBlocks = false;
fDefaultConsistencyChecks = false;
fRequireStandard = true;
fMineBlocksOnDemand = false;
fSkipProofOfWorkCheck = false;
fTestnetToBeDeprecatedFieldRPC = false;
fHeadersFirstSyncingActive = false;

并且当 fMineBlocksOnDemand 设置为 true 时,命令 setgeneratetrue 返回的钱包密钥库为空,而 keypoolrefill >命令无效。

我在做什么错?..)))

0 个答案:

没有答案