infrastructure: public OFF testnet — seed + chainparams entry + miner-onboarding doc #38
Labels
No labels
enhancement
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
SubGeniusFinance/Offerings-to-Cthulhu#38
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Stand up a public, joinable OFF testnet so consensus-rule rcs (see #32, #33, #34) can be live-tested by external contributors, not just by maintainers in isolation. Closes the gap between "test plan promises testnet validation" and "testnet validation is structurally possible for anyone outside the Conclave."
Flagged by @9019x on 2026-06-14 as the missing piece behind his "run consensus changes on testnet first" process note.
Why this is needed
Each consensus issue in the
v2.0.x-rc-bipsoftbundle (#32, #33, #34) commits in its test-plan to:Item (2) is already in the source — every fork constant has a
_TESTNET_OFF=100form, so a rc binary running with-testnetactivates the new rules within minutes of genesis. But item (3) requires more than a single isolated daemon:None of those exist today.
src/chainparams.cpp:247-248literally clearsvFixedSeedsandvSeedsfor testnet — a daemon launched with-testnettoday has zero peers and stays disconnected.This issue closes that gap.
What changes
1. Pin testnet genesis
The current
CTestNetParamsconstructor (src/chainparams.cpp:228-255) setsgenesis.nTime = 1373481000andgenesis.nNonce = 905523645but the genesis-hash assert is commented out:Before standing up a seed, boot a daemon with the current testnet params, capture the actual computed genesis hash, and uncomment / re-pin the assert. This ensures everyone joining the testnet starts on the same chain — one of the silent ways testnets bifurcate is unverified genesis parameters drifting across builds.
2. Stand up the testnet seed
Offeringsd -testnet.src/chainparams.cpp:237).testnet-seed.23skidoo.infopointing at the seed.3. Wire the seed into chainparams
Update the
CTestNetParamsconstructor insrc/chainparams.cpp:247-248:One entry is enough to bootstrap. A second seed can be added later if uptime warrants.
4. Document "how to be a testnet miner"
New page at
https://23skidoo.info/testnet/plusdoc/testnet.mdin-repo (linked from the README). Covers:v2.0.x-rc-bipsofttag binary; same build, testnet activated by command-line flag.Scope this issue is NOT taking on
Why this isn't in the v2.0.x consensus-fork bundle
Non-consensus infrastructure. No fork-height, no chain-split risk. Independent release cadence — the seed-list chainparams patch is a one-line addition that can ship as a quick hot release on top of the rc binary.
That said, this issue's deliverable should land before the
v2.0.x-rc-bipsofttestnet activation phase begins. Otherwise the test-plan promise of "3 days live-test on testnet" remains unfulfilled.References
src/chainparams.cpp:226-258— currentCTestNetParamssrc/chainparams.cpp:247-248— empty seed listssrc/chainparams.cpp:245— commented-out genesis assertCommunity chat: https://23skidoo.info/discord
Delivered in v2.0.9-Eldersign.
The public OFF testnet is live and rode the release tag: seed entry, a re-anchored testnet genesis, an h=0 testnet checkpoint, and testnet/regtest mining without peers. A cross-version soak (prior build ↔ release candidate) ran an end-to-end public testnet through the bipsoft consensus activation, so contributors can now stand up a node and live-test consensus RCs independently rather than relying on a single operator.
Release: https://github.com/SubGeniusFinance/Offerings-to-Cthulhu/releases/tag/v2.0.9-Eldersign
Closing as shipped. Onboarding steps are captured in the release notes' testnet section; if anything in the join flow is rough, open a fresh issue scoped to the doc.