Use consensus with staging area fixes
Home /
Input Output /
cardano-node
Jun 08, 4-5 PM (0)
Jun 08, 5-6 PM (0)
Jun 08, 6-7 PM (0)
Jun 08, 7-8 PM (0)
Jun 08, 8-9 PM (0)
Jun 08, 9-10 PM (0)
Jun 08, 10-11 PM (0)
Jun 08, 11-12 AM (0)
Jun 09, 12-1 AM (0)
Jun 09, 1-2 AM (0)
Jun 09, 2-3 AM (0)
Jun 09, 3-4 AM (0)
Jun 09, 4-5 AM (0)
Jun 09, 5-6 AM (0)
Jun 09, 6-7 AM (0)
Jun 09, 7-8 AM (1)
Jun 09, 8-9 AM (1)
Jun 09, 9-10 AM (0)
Jun 09, 10-11 AM (0)
Jun 09, 11-12 PM (0)
Jun 09, 12-1 PM (0)
Jun 09, 1-2 PM (0)
Jun 09, 2-3 PM (0)
Jun 09, 3-4 PM (0)
Jun 09, 4-5 PM (0)
Jun 09, 5-6 PM (1)
Jun 09, 6-7 PM (0)
Jun 09, 7-8 PM (0)
Jun 09, 8-9 PM (0)
Jun 09, 9-10 PM (0)
Jun 09, 10-11 PM (0)
Jun 09, 11-12 AM (0)
Jun 10, 12-1 AM (0)
Jun 10, 1-2 AM (11)
Jun 10, 2-3 AM (9)
Jun 10, 3-4 AM (0)
Jun 10, 4-5 AM (1)
Jun 10, 5-6 AM (0)
Jun 10, 6-7 AM (0)
Jun 10, 7-8 AM (1)
Jun 10, 8-9 AM (0)
Jun 10, 9-10 AM (0)
Jun 10, 10-11 AM (0)
Jun 10, 11-12 PM (19)
Jun 10, 12-1 PM (0)
Jun 10, 1-2 PM (0)
Jun 10, 2-3 PM (0)
Jun 10, 3-4 PM (2)
Jun 10, 4-5 PM (0)
Jun 10, 5-6 PM (0)
Jun 10, 6-7 PM (0)
Jun 10, 7-8 PM (13)
Jun 10, 8-9 PM (3)
Jun 10, 9-10 PM (0)
Jun 10, 10-11 PM (0)
Jun 10, 11-12 AM (0)
Jun 11, 12-1 AM (0)
Jun 11, 1-2 AM (0)
Jun 11, 2-3 AM (0)
Jun 11, 3-4 AM (0)
Jun 11, 4-5 AM (0)
Jun 11, 5-6 AM (0)
Jun 11, 6-7 AM (0)
Jun 11, 7-8 AM (0)
Jun 11, 8-9 AM (0)
Jun 11, 9-10 AM (0)
Jun 11, 10-11 AM (0)
Jun 11, 11-12 PM (0)
Jun 11, 12-1 PM (0)
Jun 11, 1-2 PM (0)
Jun 11, 2-3 PM (0)
Jun 11, 3-4 PM (0)
Jun 11, 4-5 PM (0)
Jun 11, 5-6 PM (0)
Jun 11, 6-7 PM (0)
Jun 11, 7-8 PM (1)
Jun 11, 8-9 PM (1)
Jun 11, 9-10 PM (0)
Jun 11, 10-11 PM (0)
Jun 11, 11-12 AM (0)
Jun 12, 12-1 AM (0)
Jun 12, 1-2 AM (0)
Jun 12, 2-3 AM (0)
Jun 12, 3-4 AM (0)
Jun 12, 4-5 AM (0)
Jun 12, 5-6 AM (0)
Jun 12, 6-7 AM (0)
Jun 12, 7-8 AM (0)
Jun 12, 8-9 AM (0)
Jun 12, 9-10 AM (0)
Jun 12, 10-11 AM (0)
Jun 12, 11-12 PM (0)
Jun 12, 12-1 PM (0)
Jun 12, 1-2 PM (0)
Jun 12, 2-3 PM (0)
Jun 12, 3-4 PM (0)
Jun 12, 4-5 PM (0)
Jun 12, 5-6 PM (0)
Jun 12, 6-7 PM (0)
Jun 12, 7-8 PM (0)
Jun 12, 8-9 PM (0)
Jun 12, 9-10 PM (1)
Jun 12, 10-11 PM (0)
Jun 12, 11-12 AM (0)
Jun 13, 12-1 AM (0)
Jun 13, 1-2 AM (0)
Jun 13, 2-3 AM (0)
Jun 13, 3-4 AM (0)
Jun 13, 4-5 AM (0)
Jun 13, 5-6 AM (0)
Jun 13, 6-7 AM (0)
Jun 13, 7-8 AM (0)
Jun 13, 8-9 AM (0)
Jun 13, 9-10 AM (0)
Jun 13, 10-11 AM (0)
Jun 13, 11-12 PM (0)
Jun 13, 12-1 PM (0)
Jun 13, 1-2 PM (0)
Jun 13, 2-3 PM (0)
Jun 13, 3-4 PM (0)
Jun 13, 4-5 PM (0)
Jun 13, 5-6 PM (0)
Jun 13, 6-7 PM (0)
Jun 13, 7-8 PM (0)
Jun 13, 8-9 PM (0)
Jun 13, 9-10 PM (0)
Jun 13, 10-11 PM (0)
Jun 13, 11-12 AM (1)
Jun 14, 12-1 AM (0)
Jun 14, 1-2 AM (0)
Jun 14, 2-3 AM (0)
Jun 14, 3-4 AM (0)
Jun 14, 4-5 AM (0)
Jun 14, 5-6 AM (0)
Jun 14, 6-7 AM (0)
Jun 14, 7-8 AM (0)
Jun 14, 8-9 AM (0)
Jun 14, 9-10 AM (0)
Jun 14, 10-11 AM (0)
Jun 14, 11-12 PM (0)
Jun 14, 12-1 PM (0)
Jun 14, 1-2 PM (0)
Jun 14, 2-3 PM (0)
Jun 14, 3-4 PM (0)
Jun 14, 4-5 PM (0)
Jun 14, 5-6 PM (0)
Jun 14, 6-7 PM (0)
Jun 14, 7-8 PM (0)
Jun 14, 8-9 PM (0)
Jun 14, 9-10 PM (0)
Jun 14, 10-11 PM (0)
Jun 14, 11-12 AM (0)
Jun 15, 12-1 AM (0)
Jun 15, 1-2 AM (0)
Jun 15, 2-3 AM (0)
Jun 15, 3-4 AM (0)
Jun 15, 4-5 AM (0)
Jun 15, 5-6 AM (0)
Jun 15, 6-7 AM (0)
Jun 15, 7-8 AM (0)
Jun 15, 8-9 AM (0)
Jun 15, 9-10 AM (0)
Jun 15, 10-11 AM (19)
Jun 15, 11-12 PM (0)
Jun 15, 12-1 PM (0)
Jun 15, 1-2 PM (0)
Jun 15, 2-3 PM (0)
Jun 15, 3-4 PM (1)
Jun 15, 4-5 PM (0)
86 commits this week
Jun 08, 2026
-
Jun 15, 2026
wb | drop per-call "using <backend>" announcement in genesis()
The info banner sat inside the genesis() function body, so it fired once per `wb genesis <op>` dispatch
wb | add PV 11 preview and dijkstra support to cardano-profile
wb | remove genesis specs and use the profile contents
Remove the "genesis spec" workbench command that was used for `create-testnet-data --spec-*` and instead use what cardano-profile provides. The profile may have null "conway" or "dijkstra" genesis fields but the node still needs valid files, use a "zero" genesis in those cases.
wb | epoch-timeline fixes to follow mainnet as much as possible
Based on a mainnet db-sync and mainnet genesis files we reconstructed the timeline with no cardano-profile implementation specifics
wb | support any cost models through alonzo genesis
Going forward, the only way to inject cost models with any number of parameters is through Alonzo genesis "extraConfig" field.
wb | new epoch-timeline.json format
- Structure: Separates cost models from the rest of the parameters. - Consistency: Shelley genesis is the full object, no only the "protocolParams" field. - Consistency: Uses everywhere an object for the cost model, no arrays. - Cost model names are updated.
wb | restore previously removed extra cost models in epoch-timeline.json
Were removed when the node started only considering valid what mainnet shipped with
wb | new genesis "ripper" backend separating dataset from protocol
wb | remove genesis pools metadata (--relays)
The pool relays were wrote into the Shelley genesis (via `pool-relays.json` and `cardano-cli ... --relays` / `--relay-specification-file`) are only consumed by ledger-peer discovery. With ledger peers off and `publicRoots` empty, the relay records in genesis are never read. Every workbench topology disables it: - the supervisor (local / 127.0.0.1) backend gets `useLedgerAfterSlot: -1` from `cardano-topology projection-for`. - the Nomad backend hardcodes the same value (nix/workbench/backend/nomad-job.nix).
wb | keep genesis cache on-disk genesis layout consistent with `create-testnet-data`
Was converging to `create-staked` output, keep `create-testnet-data` layout:
- pools-keys/poolN/{cold,kes,vrf,opcert}.{skey,vkey,cert,counter}
- stake-delegators/delegatorN/{payment,staking}.{skey,vkey}
- drep-keys/drepN/drep.{skey,vkey}
- utxo-keys/utxoN/utxo.{skey,vkey}
- genesis-keys/genesisN/key.{skey,vkey}
- delegate-keys/delegateN/{key,kes,vrf,opcert}.{skey,vkey,cert,counter}
- byron-gen-command/
Normalises genesis files names. Every era's genesis file is now genesis.<era>.json everywhere:
- genesis.byron.json
- genesis.shelley.json
- genesis.alonzo.json
- genesis.conway.json
- genesis.dijkstra.json
Details:
- create-testnet-data drops its symlink-creation block and the `link_keys` helper (no longer needed under the native layout).
- Removes `Massage_the_key_file_layout_to_match_AWS`, `key_depl` and `key_genesis`.
Genesis file names are unchanged here.
wb | use byron genesis from `create-testnet-data` output
Replaces 'cardano-cli byron genesis genesis'.
This introduces changes to the cache output so the directory entry now has the "v2" suffix.
Removes genesis-byron-{jq,modular} and the genesis-byron dispatcher.
wb | remove support for genesis creation using `create-staked`
Default is `create-testnet-data`
wb | centralize dispatch of genesis from preset
wb | move the cache reuse logic into backends
Function `derive-from-cache` becomes a backend implementation. Both `derive-from-cache` and `finalise-cache-entry` are merged and inlined into `derive-from-cache-jq` (`derive-from-cache-modular` delegates to "jq").
wb | centralize dispatch of genesis backends
Resolve `$genesis_backend` once at source time and replace all the 'if WB_MODULAR_GENESIS' with a single `"X-$genesis_backend" "$@"`. Applies to `profile-cache-key-input`, `profile-cache-key`, `spec` and `pool-relays`. Also, the decision between `create-testnet-data` and `create-staked` (WB_CREATE_TESTNET_DATA), now lives in the "jq" backend (the "modular" backend only implements spec, pool-relays, byron and cache key functions, not the create-testnet-data call).
wb | extract genesis mechanisms into two different files
Both genesis backends, "jq" and "modular", now live in the same file. Extract unmodified the code of each to new files.
WIP: don't include cache-entry in the genesis tar file
flake.lock: Update
Flake lock file updates:
• Updated input 'CHaP':
'github:intersectmbo/cardano-haskell-packages/e8a483522ee73c8c9493ea6055553e5c2532e66b?narHash=sha256-ZzXz2vOhqethlqPgBExPXEnKWvaTbidsIxh5MGv%2BpwE%3D' (2026-05-02)
→ 'github:intersectmbo/cardano-haskell-packages/0aa7afd943dbcf2dc51fe652c982da281f8cb621?narHash=sha256-lipiKNOJ/NIGO/pcwQT030%2BsSgbTkP3N0w/ck5jBJlw%3D' (2026-06-10)
• Updated input 'hackageNix':
'github:input-output-hk/hackage.nix/ba6ab6f3b781c8f308cba4fa384eafa48033f3cc?narHash=sha256-cPUF8%2Bl1ej7x4UZcuuf6IDsxU1WWmGWC0vFBH%2B6jXZk%3D' (2026-05-06)
→ 'github:input-output-hk/hackage.nix/127f92d4026a032f11f316a5a8f643266825821f?narHash=sha256-bbph19IozPdUAMInJj7rCZZQ20qv5cI7nBzRCmvtryM%3D' (2026-06-13)
Add documentation, improve errors, and add changelog entry
* Document the limitation on the implementation of the support
of Ogmios as a target that limits the throughput to one request
in flight per round trip (Ogmios supports pipelining by JSON-RPC id,
but we are not supporting it for now.
* Document that only submission goes through Ogmios:
protocol-parameter and era queries as well as protocol startup still
require the local node socket and config file.
* Route per-transaction rejections through the benchmark tracer instead
of putStrLn, so they reach the trace stream like every other
submission event instead of interleaving arbitrarily with it. The
failure detail payload reported by Ogmios ('error.data'), which
carries the actual ledger failure and was previously discarded, is
included in the message along with the error code.
* Add `ogmiosUrl` to the README's connection-settings table plus a
'Submitting through Ogmios' section, add a changelog entry for the
feature (including the clean-exit behavior change for scripts that
never start the benchmark machinery), and bump the package version
to 2.17.
bench | tx-centrifuge: make cooldown configurable, default 0
Replace the hardcoded 300s worker cooldown with an optional top-level "cooldown_seconds" JSON field, defaulting to 0 (no wait). The cooldown was added to give multi-node benchmark clusters time to stabilise before traffic begins; for single-node ops / iterative testing it's a 5-minute tax with no benefit. Cluster runs opt back in explicitly. Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>