質問

私はそれを見ています 層プロトコル mining.notify メソッドの nbits 値に問題があります。計算するのが難しいのですが、通貨の難しさのせいだと思います。

dogecoin プールから通知を取得すると 1b3cc366 が返され、その時点での難易度は 1078.52975077 でした。

ここでは、1b3cc366 を変換すると 1078.52975077 が得られると仮定します。しかし、変換を正しく行うことができないようです。

見てきました ここ, ここ .NET関数も試しました BitConverter.Int64BitsToDouble.

nbits 値が何を意味するのかを理解できる人はいますか?

役に立ちましたか?

解決

あなたが正しいです、 nbits 現在のネットワークの難易度です。

エンコードの難易度について詳しく説明されています ここ.

次のような 16 進数表現 0x1b3cc366 次の 2 つの部分で構成されます。

  • 0x1b -- ターゲット内のバイト数
  • 0x3cc366 -- ターゲットプレフィックス

これは、有効なハッシュが以下である必要があることを意味します 0x3cc366000000000000000000000000000000000000000000000000 (まさにその通りです 0x1b = 27 バイト長)。

難易度の浮動小数点表現は、現在のターゲットがジェネシス ブロックで使用されているものよりどれだけ難しいかを示します。

サトシは使うことにした 0x1d00ffff ジェネシスブロックの難易度として、ターゲットは0x00ffff0000000000000000000000000000000000000000000000000000.

1078.52975077 は、現在の目標が最初の目標よりどのくらい大きいかです。

$ echo 'ibase=16;FFFF0000000000000000000000000000000000000000000000000000 / 3CC366000000000000000000000000000000000000000000000000' | bc -l
1078.52975077482646448605
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top