You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR tracks the work to launch test13 as a hardfork of gnoland1, using the same tooling stack as gnoland-1 (gnogenesis fork generate + post-replay govDAO migrations).
Adapt for test13 — swap chain IDs (gnoland-1 → test-13), point misc/deployments/ at a test-13/ directory parallel to gnoland-1/, update seed node / RPC defaults.
Local iteration — make reset init fetch up loop against a local gnoland-1 RPC until genesis builds cleanly and replays with 0 failures.
Phase 2 — pull in the backlog
Cherry-pick the ~100 commits Morgan identified for test13 (realm upgrades, VM fixes, SDK changes, etc.). Rebase them onto the hardfork branch in logical batches; each batch is a hf_patch_addpkg / code change / keeper change.
Local iteration again — replay + boot + smoke-test after each batch. Triage failures in situ (skip-list vs fix-forward).
Phase 3 — coordinated fork
Switch source from RPC to local blockstore — use gnogenesis fork generate --source /path/to/stopped-node-data (already supported via fetch-from-dir flow). This lets validators do a coordinated stop at height N and each generate a bit-for-bit identical genesis from their own local data, instead of depending on a live RPC.
Multi-node dress rehearsal — coordinate with the validator set to run the full stop→generate→boot flow on a shared testnet cluster. Cross-check sha256(genesis.json) across all participants.
Phase 4 — split for review
Once the integrated branch works end-to-end, split into three reviewable PRs:
This PR tracks the work to launch test13 as a hardfork of gnoland1, using the same tooling stack as gnoland-1 (
gnogenesis fork generate+ post-replay govDAO migrations).Plan
Phase 1 — bootstrap from #5486
moul/hf-glue-experimental) as the starting point. It already has: InitialHeight fork support, PastChainIDs genesis-mode,--patch-realm,--migration-tx, post-replay valset-swap migration, full replay verified against gnoland1.gnoland-1→test-13), pointmisc/deployments/at atest-13/directory parallel tognoland-1/, update seed node / RPC defaults.make reset init fetch uploop against a local gnoland-1 RPC until genesis builds cleanly and replays with 0 failures.Phase 2 — pull in the backlog
hf_patch_addpkg/ code change / keeper change.Phase 3 — coordinated fork
gnogenesis fork generate --source /path/to/stopped-node-data(already supported viafetch-from-dirflow). This lets validators do a coordinated stop at height N and each generate a bit-for-bit identical genesis from their own local data, instead of depending on a live RPC.sha256(genesis.json)across all participants.Phase 4 — split for review
misc/deployments/test-13/, migrations, params, seeds)Splitting late (not early) because the integrated branch is what we actually test; the PRs are a reviewability artifact, not a development model.
Why this order
Risks / open questions
Dependencies