我在看 地层协议 我对挖掘的nbits值有问题。通知方法。我有麻烦计算它,我假设这是货币难度。

我从一个dogecoin池中拉出一个通知,它返回了1b3cc366,当时的难度是1078.52975077。

我在这里假设1b3cc366在转换时应该给我1078.52975077。但我似乎无法做正确的转换。

我看过了 这里, 这里 并且还尝试了.NET功能 BitConverter.Int64BitsToDouble.

有人可以帮助我理解nbits值意味着什么?

有帮助吗?

解决方案

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

困难编码是通俗易懂地描述 这里.

十六进制表示像 0x1b3cc366 由两部分组成:

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

这意味着有效的散列应该小于 0x3cc366000000000000000000000000000000000000000000000000 (正是 0x1b =27字节长)。

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

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

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

$ echo 'ibase=16;FFFF0000000000000000000000000000000000000000000000000000 / 3CC366000000000000000000000000000000000000000000000000' | bc -l
1078.52975077482646448605
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top