nmc(PF): pin mainnet_genesis_header() 80-byte seed (node-verified) - #262
Merged
Conversation
Retire the deferred mainnet genesis-header seed. Fields pinned against a live SYNCED mainnet namecoind (getblockhash 0 / getblockheader <hash> false; .140 PID 5860, blocks=830010, IBD=false; 2026-06-20): version=1 time=1303000001 bits=0x1c007fff nonce=0xa21ea192 merkleroot=41c62dbd..cb0d SHA256d(header) == 000000000062b72c..c770 (mainnet genesis hash), verified locally and by the new MainnetHeaderRederivesPinnedHash KAT. The KAT asserts against the external literal hash (daemon truth), not params.genesis_hash, so it holds regardless of merge order with the mainnet genesis_hash pin (#261). Fenced to src/impl/nmc/; rides the allowlisted nmc_auxpow_wire_test exe, no build.yml touch.
frstrtr
added a commit
that referenced
this pull request
Jun 20, 2026
…262/#264 + 2b-ii) (#284) The merge-mining consensus-parameters block-header comment still claimed NONE of the fields were committed and were placeholder sentinels pending pinning. That is stale: auxpow_activation_height (#258), pow_limit + genesis_hash (#261/#262), aux_chain_id (#264) and p2p_magic (2b-ii) are all pinned against namecoin-core chainparams.cpp and cross-checked on the synced .140 namecoind, with per-field provenance in the inline comments. Comment-only; fenced to src/impl/nmc/. Brings the conformance doc-state in line with the pinned reality so a reader does not wrongly conclude the params are unbaked. Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
frstrtr
added a commit
that referenced
this pull request
Jun 23, 2026
…262/#264 + 2b-ii) (#284) The merge-mining consensus-parameters block-header comment still claimed NONE of the fields were committed and were placeholder sentinels pending pinning. That is stale: auxpow_activation_height (#258), pow_limit + genesis_hash (#261/#262), aux_chain_id (#264) and p2p_magic (2b-ii) are all pinned against namecoin-core chainparams.cpp and cross-checked on the synced .140 namecoind, with per-field provenance in the inline comments. Comment-only; fenced to src/impl/nmc/. Brings the conformance doc-state in line with the pinned reality so a reader does not wrongly conclude the params are unbaked. Co-authored-by: frstrtr <frstrtr@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
NMC PF — retire the deferred mainnet genesis-header seed
Adds
NMCChainParams::mainnet_genesis_header()(mirror of the existingtestnet_genesis_header()) + theMainnetHeaderRederivesPinnedHashKAT.Source (node truth, not memory)
Fields pinned against a live SYNCED mainnet namecoind on .140 (PID 5860,
blocks=830010,initialblockdownload=false), 2026-06-20:Parsed:
version=1 time=1303000001 bits=0x1c007fff nonce=0xa21ea192 merkleroot=41c62dbd..cb0d.SHA256d(header)reproduces the genesis hash exactly (verified locally + by KAT).Fence / CI
src/impl/nmc/— no shared core, no other coin touched.nmc_auxpow_wire_testexe; no build.yml touch (avoids the NOT_BUILT sentinel).params.genesis_hash, so it is independent of merge order with the genesis_hash pin (nmc(PF): pin powLimit + mainnet genesis from namecoin-core (consensus values) #261). Non-colliding regions with nmc(PF): pin powLimit + mainnet genesis from namecoin-core (consensus values) #261.Verification
Consensus-VALUE pin -> operator tap (same class as #258/#259/#261). I do not self-merge.