문제

나는 ~을 보고 있다 지층 프로토콜 mining.notify 메소드의 nbits 값에 문제가 있습니다.계산하는 데 문제가 있습니다. 통화 문제인 것 같습니다.

나는 dogecoin 풀에서 알림을 가져왔고 1b3cc366을 반환했으며 당시 난이도는 1078.52975077이었습니다.

여기서는 1b3cc366이 변환되면 1078.52975077을 제공해야 한다고 가정합니다.하지만 변환을 제대로 수행할 수 없는 것 같습니다.

나는 보았다 여기, 여기 .NET 기능도 사용해 보았습니다. BitConverter.Int64BitsToDouble.

누군가 nbits 값이 무엇을 의미하는지 이해하도록 도와줄 수 있나요?

도움이 되었습니까?

해결책

당신 말이 맞아요 nbits 현재 네트워크 어려움입니다.

인코딩 난이도가 자세하게 설명되어 있습니다. 여기.

다음과 같은 16진수 표현 0x1b3cc366 두 부분으로 구성됩니다:

  • 0x1b -- 대상의 바이트 수
  • 0x3cc366 -- 대상 접두사

이는 유효한 해시가 다음보다 작아야 함을 의미합니다. 0x3cc366000000000000000000000000000000000000000000000000 (정확히 그렇죠 0x1b = 27바이트 길이).

난이도의 부동 소수점 표현은 현재 대상이 제네시스 블록에서 사용된 것보다 얼마나 어려운지를 보여줍니다.

사토시는 사용하기로 결정했습니다 0x1d00ffff 제네시스 블록의 난이도로, 목표는 다음과 같았습니다.0x00ffff0000000000000000000000000000000000000000000000000000.

그리고 1078.52975077은 현재 목표가 초기 목표보다 얼마나 큰지 나타냅니다.

$ echo 'ibase=16;FFFF0000000000000000000000000000000000000000000000000000 / 3CC366000000000000000000000000000000000000000000000000' | bc -l
1078.52975077482646448605
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top