WO-10 — Genesis miner and chain parameters¶
Status: DONE on branch wo-10-genesis.
Implemented deterministic genesis coinbase assembly, header construction, proof-of-work checking and a parallel nonce search (up to four workers). The coinbase has one null-prevout input, zero lock time, a zero extranonce, one or two leading zero-value Data outputs for pszTimestamp, and the zero-value witness commitment as its final output. The timestamp is committed by the coinbase txid, the transaction Merkle root, and the mined header.
Decision #23 resolves the former conflict: every coinbase, including genesis, puts its witness commitment in the last output. The genesis headline may be split across one or two Data outputs, each at most 80 bytes, and their payloads join exactly as stored.
The testnet fixture uses the exact title of NASA’s Oct. 8, 2026 Crew-12 release, with the project date prefix. The two payloads are 56 and 33 UTF-8 bytes (89 bytes total):
E46 08/Oct/2026 NASA’s SpaceX Crew‑12 Splashes Down,Sets Briefing to Discuss Mission
The full string is E46 08/Oct/2026 NASA’s SpaceX Crew‑12 Splashes Down, Sets Briefing to Discuss Mission. C++ mining found nonce 14,449,748 at nTime=1791498189 and nBits=0x1d7fffff; the Python reference independently reproduces the assembled transaction, roots, header and block ID. The frozen values are in e46/golden/wo10-golden.json.
Validation: release and ASan/UBSan suites each passed 34/34 tests. The WO-10 differential test matched six frozen vectors and 1,000 fresh randomized builds, then reproduced the testnet nonce while checking lower nonce ranges. It took 97.18 seconds in release and 417.29 seconds with sanitizers on this machine (including randomized differential work). A further 10,000 randomized malformed CLI commands were rejected under ASan/UBSan without a crash. No binary transaction parser was added in WO-10. The public-facing explanation is in docs/index.md, and usage details are in GENESIS-AND-TARGETS.md.