13:50:11 If I use https://docs.getmonero.org/rpc-library/monerod-rpc/#get_block_header_by_height with `fill_pow_hash` = true, I can get a `pow_hash` of each block. How would I convert the hex `pow_hash` value into an integer, for example to get the value of `H` in this formula: https://monero.stackexchange.com/a/12046 ? 13:50:54 And why do the zeros of `pow_hash` appear at the end of the hex string? In bitcoin, the zeros appear at the beginning. 13:52:52 parse_hash256 13:54:46 Thank you. 13:55:38 If you want true 256 bit divisions, use boost bigint. Or div256_64 for short divisors. 13:56:16 it's a sequence of bytes (2 hex characters per byte) 13:56:21 zeroes are in the end because LSB encoded 13:57:12 so the first byte is the least significant byte, the last byte is the most significant byte (bits 248-255) 16:23:19 This is what I have done: 16:23:29 1) Start with the original `pow_hash`, which has 64 hexadecimal "characters". 16:23:40 2) Convert this to individual "byte" elements by concatenating the pairs of hexadecimal elements, so we have 32 byte elements. 16:23:49 3) Reverse the ordering of the 32 byte elements, i.e. the put the first element last, then the second element in the penultimate place, etc. 16:23:59 4) Concatenate these bytes together, add a `0x` at the beginning, and use a function to convert this hexadecimal form into an arbitrary-precision integer. 16:24:37 Is this correct? It seems to work. A large sample of blocks pass the appropriate difficulty hurdle. 16:49:50 seems correct to me (for block: 3472006 the pow_hash: aa6f70cf7b1e67e60028e19b03ac2f8f5661c61017cd41377dee7c0000000000, integer value: 51393878524106522740461043578110141991369175320009076927949205418) 16:58:08 it's a 256-bit hash in little endian wire format :) 17:18:28 Yes, this is correct 18:34:51 Thanks, all. I am learning one byte at a time :)