在QT框架中编译比特币-QT应用程序时断言失败错误

Assertion Failed Error while compiling Bitcoin-QT application in QT framework?

本文关键字:应用程序 -QT 断言 错误 失败 框架 QT 编译      更新时间:2023-10-16

我在编译比特币-qt应用程序时遇到错误,我不明白main.cpp的问题是什么。

错误:

/main.cpp:2985: bool InitBlockIndex(): Assertion 'block.hashMerkleRoot == uint256("0x7c0b21983dc5a17daeef4b6b936375b0a59f3414af7a1bf248d98209447a494b")' 失败。

程序意外完成。问题出在哪里?请给出一些建议来解决此问题。

你试过这个解决方案吗?https://bitcoin.stackexchange.com/questions/21303/creating-genesis-block

第一次运行编译的代码(守护程序或qt)时,它会说 "断言失败"。只需退出程序,转到配置目录(在 AppData/Roaming),打开调试.log,获取哈希后 "块。GetHash() = ", 复制并粘贴到 main.cpp 的开头, 哈希创世块。还在同一日志文件中获取 merkle 根,粘贴 它到...在以下代码中的位置,在 LoadBlockIndex() 中

assert(block.hashMerkleRoot == uint256("0x...")); 重新编译代码, 并创建了创世区块!

顺便说一句,不要忘记将"txNew.vout[0].nValue = "更改为每个硬币 你定义的块,离开为50并不重要,只要是 与您的每个区块的硬币一致(在调整哈希之前执行此操作) 和 m 根,否则它们将再次更改)。

检查 https://bitcointalk.org/index.php?topic=225690.0 是否完整 信息

这是针对山寨币的,但似乎您对创世区块有一些问题。