DevX Initiative
In review: This tooling data is still being verified and may change.

Cardano tooling · Protocol version 12 · Node 11.2

What Dijkstra changes

Read at the node 11.2.0 tag and the component versions published with the release. Activation is either the node upgrade itself, the fork to protocol version 12, or a later intra-era step.

New ledger era Dijkstra at major protocol version 12

pv12decode-breakera-identity

devnet confirmed Node 11.2.0 forks to Dijkstra and reaches protocol version 12

Dijkstra follows Conway (protocol versions 9-11) as the eighth hard-fork-combinator era. Plutus gates PlutusV4 on the same version.

5 citations

Node-to-client handshake offers only NodeToClientV_23

node-11.2-upgradeinterface-changenode-to-client-protocol

devnet confirmed Node-to-client handshake accepts only V23

Consensus 5.1.x (selected by the 11.2 branch) offers only V23; consensus 4.2.1.0 (node 11.1.x) offered V16-V23. Dijkstra is enabled inside V23, with no new version.

3 citations

Non-segregated block body with per-transaction is_valid (CIP-0176)

pv12decode-breakblock-encoding

devnet confirmed The node's Dijkstra block: non-segregated body, ten-field Babbage header

block = [header, block_body]; each block transaction is [body, witnesses, auxiliary_data / nil, is_valid]; invalid_transactions is removed; block_body carries optional Leios and Peras certificates.

4 citations

Block header replaces protocol_version and adds Leios fields

pv12decode-breakblock-encoding

devnet contradicted The node's Dijkstra block: non-segregated body, ten-field Babbage header · The node emits the ten-field header with protocol_version.

The target CDDL's header_body replaces protocol_version with header_version_info [highest_supported_major_version, self_reported_software_tag] and adds block_body_contains_leios_cert and eb_references_announcement, with vrf_cert's output exactly 64 bytes. The shared Praos header encoder at the same ledger revision still writes the ten-field header with protocol_version, and the tagged node 11.2.0 emits that header in Dijkstra blocks (devnet check block-shape): decoders that follow the CDDL reject the node's blocks.

6 citations

Submitted transactions drop the is_valid flag (CIP-0167)

pv12additivetransaction-encoding

devnet confirmed Which Conway-built transactions the node accepts after the fork

mempool_transaction is [body, witnesses, auxiliary_data / nil]; the legacy four-element form is still accepted only with is_valid = true and is announced as disallowed in the next era.

2 citations

Nested transactions (CIP-0118)

pv12decode-breaktransaction-encodingtransaction-rules

Transaction body key 23 carries sub_transactions, each with its own body (no fee or collateral), witnesses and auxiliary data. Sub-transaction execution units count towards transaction and block limits and minimum script fees. PlutusV1-V3 scripts cannot run in a sub-transaction.

4 citations

Guards replace required signers (CIP-0112)

pv12decode-breaktransaction-encodingplutus-script-context

devnet confirmed Which Conway-built transactions the node accepts after the fork · Only a Conway key-hash required signer was exercised.

Body key 14 becomes guards: a set of key hashes or an ordered set of credentials, including script hashes. Key 24 adds required_top_level_guards; native scripts gain type 6 script_require_guard; redeemer tag 6 is guarding.

5 citations

Encodings valid in Conway that Dijkstra rejects

pv12encode-breaktransaction-encoding

devnet confirmed Which Conway-built transactions the node accepts after the fork · Only the deposit-less registration was exercised.

Removed: deposit-less stake registration/unregistration certificates (types 0 and 1), the legacy array encoding of redeemers, and empty per-policy multiasset maps. Bootstrap witness chain_code must be exactly 32 bytes; witness-set lists become sets.

6 citations

PlutusV4 language and script context

pv12additiveplutus-languageplutus-script-contextprotocol-parameters

Language 3 / script tag 4 / witness key 8 / auxiliary-data key 5 / cost-model key 3. The V4 TxInfo adds txInfoSubTxIx, direct deposits, account balance intervals, guards and required top-level guards, and drops txInfoFee. ScriptPurpose gains Guarding. Builtin batches 1-6 are available; batch 7 is not approved for any version.

6 citations

23 new protocol parameters (keys 34-56)

pv12additiveprotocol-parameters

devnet confirmed Node 11.2.0 forks to Dijkstra and reaches protocol version 12

Reference-script limits and pricing (34-37), max pledge leverage (38), min pool margin (39), Leios (40-48), Peras (49-54) and reference-input fees per policy and per datum byte (55-56). Peras, min pool margin and the fee-function change activate only at intra-era v13.

4 citations

Earlier-era transactions are re-decoded as Dijkstra after the fork

pv12encode-breaktransaction-encoding

devnet confirmed Which Conway-built transactions the node accepts after the fork

When a submitted transaction's era differs from the ledger tip, consensus re-serializes it and decodes it in the tip era; it is rejected with an era mismatch if those bytes are not valid Dijkstra. On the devnet, Conway-built payments, deposit registrations, required_signers bodies and metadata transactions are accepted; a Conway deposit-less registration is rejected as an era mismatch (devnet check cross-era-submission).

1 citations

cardano-api and cardano-cli add Dijkstra; `latest` still means Conway

node-11.2-upgradeinterface-changecardano-clicardano-api-haskell

cardano-api 11.8 adds ShelleyBasedEraDijkstra and an experimental DijkstraEra; cardano-cli 11.3 adds a `dijkstra` command group while `latest` still maps to Conway at the pinned commit.

3 citations

Dijkstra genesis file and experimental hard-fork gating in node configuration

node-11.2-upgradeinterface-changenode-configurationprotocol-parameters

devnet confirmed Node 11.2.0 forks to Dijkstra and reaches protocol version 12

Node 11.2 reads DijkstraGenesisFile (and optional DijkstraGenesisHash) and the TestDijkstraHardForkAt* keys only when ExperimentalHardForksEnabled is true; without a file it uses an empty genesis. The genesis holds the Dijkstra upgrade parameters (reference-script limits, pool leverage and margin, the PlutusV4 cost model as an array, Leios and Peras parameters, reference-input costs). The same flag switches the node's protocol version from 11 to 12, and cardano-testnet's default configuration leaves it off.

9 citations

Protocol parameters returned by local state query grow from 31 to 54 positional fields

pv12decode-breakprotocol-parametersnode-to-client-protocol

devnet confirmed Node 11.2.0 forks to Dijkstra and reaches protocol version 12 · cardano-cli 11.6.0.0 decodes 54 parameters through local state query.

Protocol parameters are encoded as a CBOR array of the era's parameter list. Dijkstra keeps Conway's 31 entries in order and appends 23 (reference-script limits and cost, pool leverage and margin, Leios, Peras, reference-input costs), so GetCurrentPParams and GetFuturePParams answers become 54-element arrays once the era is Dijkstra.

4 citations

Published node configurations use a versioned envelope

node-11.2-upgradeinterface-changenode-configuration

devnet confirmed The versioned node configuration needs adaptation for Ogmios and Kupo

Node 11.2.0 publishes configuration sections inside a versioned Configuration envelope. Consumers that directly read legacy top-level genesis paths need an equivalent flat configuration or envelope support. Released Ogmios and Kupo fail at configuration loading when given the new envelope; their decoder tests use a separate flattened configuration.

1 citations

Checked and unchanged

  • Node-to-node versions and running mini-protocols. Node 11.2 offers node-to-node V14-V16 with V15 as the latest released version, exactly as node 11.1. Consensus carries Peras certificate and vote diffusion behind feature flags, and the node starts with an empty flag set, so relays and alternative node implementations see no node-to-node change at the 11.2 upgrade; Peras and Leios diffusion arrive with their intra-era activation.
  • Local state query set. Inside node-to-client V23 the Shelley-based query version is ShelleyNodeToClientVersion15 only, the same query set as the baseline: no query is added or removed. What changes is the era of the answers (see query-pparams-encoding).

Classification 2026-11-01 · boundary register 2026-11-01 · leads reviewed 2026-11-01 · devnet run 2026-11-01. Registers: content/readiness/dijkstra.