nmc(P1 PE 2b-0): pin testnet genesis + chain_id=1 in NMCChainParams - #233
Merged
Conversation
Replace the TO-CONFIRM placeholders in NMCChainParams::testnet() with the real Namecoin testnet genesis, pinned against a live namecoind on .140 (getblockhash 0 / getblockheader, 2026-06-19): version=1 time=1296688602 bits=0x1d07fff8 nonce=384568319 merkleroot=4a5e1e4b..deda33b -> hash=00000007..367b008 Add NMCChainParams::testnet_genesis_header() (the 80-byte parent the embedded HeaderChain seeds at height 0) and pin aux_chain_id=1 (Namecoin nAuxpowChainId=0x0001, both nets). New GenesisTestnet KAT re-derives the pinned hash via block_hash() (external daemon truth, not self-derived). Rides the allowlisted nmc_auxpow_wire_test exe -> no build.yml change. Mainnet genesis stays TO-CONFIRM: pinning needs a namecoin MAINNET node (.140 is currently on testnet, height 0). Fence: src/impl/nmc/ only.
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 P1 PE — slice 2b-0 (genesis pin, prerequisite to the cid=1 registration block)
Replaces the
TO-CONFIRMplaceholders inNMCChainParams::testnet()with the real Namecoin testnet genesis, pinned against a live namecoind on .140 (getblockhash 0/getblockheader, 2026-06-19) and re-derived locally:Also adds
NMCChainParams::testnet_genesis_header()(the 80-byte parent the embedded HeaderChain will seed at height 0) and pinsaux_chain_id = 1(NamecoinnAuxpowChainId = 0x0001, both nets) — the cid the registration block (2b) keys on.Test
New
NmcP1Genesis.TestnetHeaderRederivesPinnedHashKAT re-derives the pinned hash viablock_hash()— the expected hash is external daemon truth, not self-derived from the header. Rides the allowlistednmc_auxpow_wire_testexe → no build.yml change.nmc_auxpow_wire_test: 3/3 PASS.Fence / isolation
git diff --name-only: coin/header_chain.hpp, test/auxpow_wire_test.cpp). No shared seam, no other coin tree, no CI change.Known limitation (carried to 2b)
Mainnet genesis stays
TO-CONFIRM: pinning needs a namecoin MAINNET node. .140 is currently on testnet, height 0 (card237 recorded it as a synced mainnet node — it has since been repointed). The 2e won-block proof for the mainnet path needs a mainnet namecoind back online.Signed, zero-attribution. NMC-tree-only → auto-merge-eligible; I do not self-merge.