【问题标题】:Trying to understand nbits value from stratum protocol试图从地层协议中理解 nbits 的价值
【发布时间】:2014-03-30 08:12:19
【问题描述】:

我正在查看stratum protocol,我遇到了有关 mining.notify 方法的 nbits 值的问题。我计算有困难,我认为是货币困难。

我从狗狗币池中提取通知,它返回 1b3cc366,当时难度为 1078.52975077。

我在这里假设 1b3cc366 在转换后应该给我 1078.52975077。但我似乎无法正确进行转换。

我查看了herehere 并尝试了.NET 函数BitConverter.Int64BitsToDouble

有人可以帮我理解 nbits 值的含义吗?

【问题讨论】:

    标签: bitcoin dogecoin-api


    【解决方案1】:

    你是对的,nbits 是当前的网络难度。

    难度编码详细描述here

    0x1b3cc366 这样的十六进制表示由两部分组成:

    • 0x1b -- 目标中的字节数
    • 0x3cc366 -- 目标前缀

    这意味着有效哈希应该小于0x3cc366000000000000000000000000000000000000000000000000(它正好是0x1b = 27 字节长)。

    难度的浮点表示显示当前目标比创世块中使用的目标更难。

    Satoshi 决定使用0x1d00ffff 作为创世区块的难度,所以目标是 0x00ffff0000000000000000000000000000000000000000000000000000.

    而 1078.52975077 是当前目标比初始目标大多少:

    $ echo 'ibase=16;FFFF0000000000000000000000000000000000000000000000000000 / 3CC366000000000000000000000000000000000000000000000000' | bc -l
    1078.52975077482646448605
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多