How to calculate nbits from powlimit


I remember some where was table and python scrypt for do this , when reinstall my debian i was lose this script.

Example we hv uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); what is = 0x1d00ffff


Posted 2020-05-19T19:17:06.853

Reputation: 175



The formula for the conversion can be found on the bitcoin wiki.

Essentially, the first byte indicates the number of trailing 0 bytes (minus 3 for some reason). The remaining 3 bytes are the next 3 bytes of the target.

So 0x1d00fffff has 0x00ffff followed by 0x1d - 3 = 26 trailing 0 bytes with the whole thing padded out to 32 bytes. So the final result is 0x00000000ffff00000000000000000000000000000000000000000000000000000.

Andrew Chow

Posted 2020-05-19T19:17:06.853

Reputation: 50 267