Tool · Blocks
Header explorer
Edit a real block header and watch its hash change
What it does
Pick a real mainnet block (genesis, block 1, 120,000, 130,825 or 130,827). Its six header fields appear as editable boxes, the 108 serialized bytes appear colored by field, and the block hash is recomputed on every keystroke. Change anything, even the time by one second, and the hash turns red.
How to read it
- Each field box has the same color as its bytes. Focus a box or hover the bytes to light up the pair.
- The bytes don’t read like the boxes: numbers are little-endian, and the three 32-byte hashes are stored byte-reversed. The boxes show them in the usual display order.
- The block hash is SHA256d of the 108 bytes, shown reversed. When it no longer matches the real one, the edited block can’t link into the chain: the next block names the real hash as its parent.
Pearl specifics
- Pearl’s header is 108 bytes, not Bitcoin’s 80: there is no nonce, and a 32-byte proof commitment closes the header instead. It is SHA256d of the certificate’s version and public data (genesis, which has no real certificate, stores 32 zero bytes there).
- The block hash is never compared to the target. Pearl block hashes don’t start with zeros; the bar chart shows a real hash far above its target. What must beat the target is a BLAKE3 ticket inside the certificate, compared with target × tile work.
- Bits
0x1b00ffffis difficulty 1 on Pearl (Bitcoin’s is0x1d00ffff).
Under the hood
Runs entirely in your browser: nothing you type is sent anywhere. Serializing, parsing and hashing come from
src/lib/block.ts. Its unit tests rebuild the genesis header from the research’s test vector and check every
block here against the hash the Pearl Blockbook reports, plus the checkpoint at block 120,000.