Stratum 프로토콜의 nbits 값을 이해하려고 합니다.
-
23-12-2019 - |
문제
나는 ~을 보고 있다 지층 프로토콜 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