Master tracker for Dijkstra (Protocol Version 12) hard-fork readiness across the Blink Go stack: [dingo], [gouroboros], [plutigo], and [ouroboros-mock].
Dijkstra is a thin, low-risk hard fork: a small set of complete features, governance friction fixes, and structural block-body groundwork so future upgrades (Peras, Leios) can be activated via intra-era hard forks without another protocol-version bump. Scope reference: IntersectMBO product-website docs/hardfork-planning/dijkstra.md.
Working assumption: all dependencies land. Features are built behind flags that can be toggled on or off, so groundwork can ship now and each feature is switched on (or off) intra-era as it's ready. Nothing below is treated as a hard blocker — only as a build-order dependency.
Legend: ✅ done · 🔨 gap (issue filed) · 🔀 depends on upstream — build behind a feature flag (on/off) · 🧪 test/integration · 🏛 governance (non-code)
Nested Transactions (CIP-118) — primary feature
Observe / Guard Scripts (CIP-112)
PlutusV4 Script Context
Account Address Enhancement, Phase 1 (CIP-159)
Remove isValid (CIP-167)
Non-segregated Block Body (CIP-176)
Fee Function Update — Reference Inputs
Reference Script Pricing & Limits
Remove DRep Requirement for Reward Withdrawals (CIP-181)
- ✅ Already satisfied — gouroboros never enforces a DRep-delegation requirement on withdrawals. No code change required.
Block-body building blocks (structural groundwork + full activation behind a flag)
Peras (CIP-140)
Leios (CIP-164)
Producer identification (CIP-180)
Deferred to intra-era hard fork
Protocol Version 12 plumbing & era transition
Testing & integration
Filed from a scope-vs-code gap analysis (2026-07-15). "Considered but not included" CIPs (CIP-50, CPS-0023, CIP-156, CIP-160, CIP-163, CIP-173, CIP-175) and wishlist items are intentionally excluded.
Master tracker for Dijkstra (Protocol Version 12) hard-fork readiness across the Blink Go stack: [dingo], [gouroboros], [plutigo], and [ouroboros-mock].
Dijkstra is a thin, low-risk hard fork: a small set of complete features, governance friction fixes, and structural block-body groundwork so future upgrades (Peras, Leios) can be activated via intra-era hard forks without another protocol-version bump. Scope reference: IntersectMBO product-website
docs/hardfork-planning/dijkstra.md.Working assumption: all dependencies land. Features are built behind flags that can be toggled on or off, so groundwork can ship now and each feature is switched on (or off) intra-era as it's ready. Nothing below is treated as a hard blocker — only as a build-order dependency.
Legend: ✅ done · 🔨 gap (issue filed) · 🔀 depends on upstream — build behind a feature flag (on/off) · 🧪 test/integration · 🏛 governance (non-code)
Nested Transactions (CIP-118) — primary feature
Observe / Guard Scripts (CIP-112)
Observingscript purpose — script context: add Observing purpose for CIP-0112 plutigo#285PlutusV4 Script Context
Account Address Enhancement, Phase 1 (CIP-159)
Remove isValid (CIP-167)
Non-segregated Block Body (CIP-176)
blake2b256(block_body); dingo forge pathFee Function Update — Reference Inputs
ValidateTxDijkstra— folded into dijkstra: ledger rule updates (tx body, validation predicates, fee calc) #1942Reference Script Pricing & Limits
MaxRefScriptSizePerBlockat block validation + consume genesis stride/multiplier — folded into dijkstra: parse, apply, and enforce new protocol parameters #1937Remove DRep Requirement for Reward Withdrawals (CIP-181)
Block-body building blocks (structural groundwork + full activation behind a flag)
Peras (CIP-140)
consensus/peras/— peras: scaffold consensus/peras/ package skeleton #2100 · conformance vector loader stub — peras: conformance test vector loader stub #2101Leios (CIP-164)
Producer identification (CIP-180)
Deferred to intra-era hard fork
Protocol Version 12 plumbing & era transition
common.ProtocolVersionDijkstra = 12constant — ledger: add common.ProtocolVersionDijkstra = 12 constant gouroboros#1887Testing & integration
Filed from a scope-vs-code gap analysis (2026-07-15). "Considered but not included" CIPs (CIP-50, CPS-0023, CIP-156, CIP-160, CIP-163, CIP-173, CIP-175) and wishlist items are intentionally excluded.