【问题标题】:How to get genesis block value at new bitcoin source?如何在新的比特币来源获得创世块价值?
【发布时间】:2018-07-23 12:36:03
【问题描述】:

所以我正在使用比特币源 0.15.1

chainparams.cpp 脚本,

120~130行,

在开始新的时候试图找到新的创世块的价值。

所以我在谷歌上搜索了很多文章、论坛,但还没有找到有效的解决方案。

与 v0.8 不同,Debug.Log 文件本身似乎在源代码写入 printf 后也不会生成。

为什么以及如何了解我的创世块价值?

谢谢。

【问题讨论】:

    标签: bitcoin


    【解决方案1】:

    chainparams.cpp 包含一行代码,用于检查链的创世块是否等于指定的哈希值。

    您可以在此处查看该行的示例:

     hashGenesisBlock = genesis.GetHash();
     assert(hashGenesisBlock == uint256("9915158279673d101912be80f25c20627f1dd8bf5231e7c46bfec5ed19737f44"));
    

    要打印创世块的哈希,您可以使用

    printf("genesis.GetHash = %s\n", genesis.GetHash().ToString().c_str());
    

    在终端或 debug.log 中打印创世块

    参考:here

    【讨论】:

    • 谢谢,但是当我尝试重新编译时,(键入'make')错误提示 [Makefile:741:recipe for target 'all-recursive' failed make : *** [all-recursive] error 1
    • 在终端显示完整的make,否则尝试再次配置
    • 感谢您的评论。现在我删除文件夹并从 git 下载,重新开始,粘贴此代码
    • hashGenesisBlock = uint256("0x01") if (true && genesis.GetHash() != hashGenesisBlock) { Logprintf("重新计算主网参数。\n"); Logprintf("旧主网创世随机数:%s\n", genesis.nNonce.ToString().c_str()); Logprintf("旧主网创世哈希:%s\n", hashGenesisBlock.ToString().c_str()); // 故意为空的 for 循环查找 nonce 值。 for(genesis.nNonce == 0; genesis.GetHash() >
    • bnProofOfWorkLimit; genesis.nNonce++){ } Logprintf("新主网创世默克尔根:%s\n", genesis.hashMerkleRoot.ToString().c_str()); Logprintf("新主网创世随机数:%s\n", genesis.nNonce.ToString().c_str()); Logprintf("新主网创世哈希:%s\n", genesis.GetHash().ToString().c_str()); }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-11
    • 2021-11-08
    • 2014-01-13
    • 2017-10-19
    • 2021-07-30
    • 2021-10-15
    • 1970-01-01
    相关资源
    最近更新 更多