断言在QT框架中编译比特币-QT应用程序时出错?

时间:2015-01-19 12:54:15

标签: c++ qt cryptography bitcoin assertions

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

错误:

  

/main.cpp:2985:bool InitBlockIndex():断言`block.hashMerkleRoot   == uint256(“0x7c0b21983dc5a17daeef4b6b936375b0a59f3414af7a1bf248d98209447a494b”)'   失败。

该程序意外完成。 问题是什么?请提出一些建议来解决这个问题。

1 个答案:

答案 0 :(得分:0)

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

  

第一次运行已编译的代码(守护进程或qt),它会说   “断言失败”。只需退出程序,转到配置目录(在   AppData / Roaming),打开debug.log,之后得到哈希   “block.GetHash()=”,将其复制并粘贴到main.cpp的beginnig中,   hashGenesisBlock。也可以在同一个日志文件中获取merkle root,粘贴   它在以下代码中的...位置,在LoadBlockIndex()

中      

断言(block.hashMerkleRoot == uint256(“0x ...”));重新编译代码,   和创世块一起创造!

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

     

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

这是一个山寨币,但似乎你对创世块有一些问题。