我正在研究区块链,并且试图挖掘加密源的起源块。
我拥有的来源是PoS + masternode来源。当然其中有PoW可以挖掘第一个区块。
因此,我生成了起源哈希和默克尔根。守护程序启动,一切正常。但是,当我使用“ setgenerate true”或“ getblocktemplate”命令时,什么也没有发生。无法开采起源块。
“ getblocktemplate”返回“内存不足(代码-7)” Debug.log显示:
2019-01-21 16:23:42 ERROR: CheckTransaction() : txout.nValue negative
2019-01-21 16:23:42 ERROR: CheckBlock() : CheckTransaction failed
2019-01-21 16:23:42 CreateNewBlock() : TestBlockValidity failed
2019-01-21 16:23:42 CreateNewBlock: Failed to detect masternode to pay
2019-01-21 16:23:42 CreateNewBlock(): total size 1000
我禁用了masternode强制执行
有没有人遇到过类似的事情或可以帮助我吗?
答案 0 :(得分:0)
创世块实际上不需要挖掘。只要遵循协议的序列化,就可以根据需要创建它。创世块倾向于遵循与正常块略有不同的规则,因此通常在正常情况下不会通过验证。 Here是我们在代码库中处理创世块的方式。它与我们处理other blocks的规则略有不同。 块所需要的只是向后指向的块。因此,只要您以前有一些哈希,就应该能够在创世块的顶部形成新块。
答案 1 :(得分:0)
我建议您尝试使用Bitshares或Steem代码,并查看挖掘的过程。您可以在任一模式下使用TEST模式,以从Genesis块开始创建/挖掘块。