Skip to main content

· One min read
Damian Nadales

High level summary

  • Onboarded onto the Leios simulator and joined working sessions to provide feedback and ask questions to the research team.
  • Fixed two bugs in the V2 LedgerDB in preparation for LSM tree integration (#1515, #1516).
  • Fixed bugs in db-analyser --store-ledger (#1512).
  • Fixed Ledger CDDL specifications (#5079, #5073, #5066, #5057) as a result of our work on providing CDDLs for Consensus.
  • Started integration work in preparation for the lsm-tree backing, as detailed in #1526.

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team focused on supporting Cardano node v.10.4.1 and UTXO-HD in the aggregator, signer, and client.

They continued working on the DMQ node implementation, advancing the implementation of the local message submission and local message notification node-to-client mini-protocols in the Pallas library. They also worked on extending the aggregator metrics to record the usage of different client types.

Finally, they fixed a bug in the Cardano DB v2 snapshot that prevented full restoration and continued refactoring the STM cryptographic library.

Low level overview

  • Completed the issue Adapt ledger state snapshot artifact creation in Cardano database certification #2497
  • Completed the issue Cleanup unexpected immutable files in archive in client #2429
  • Completed the issue Add support for ancillary verification key in config files of client CLI #2491
  • Completed the issue Add ancillary verification key in client-cli config files #2511
  • Completed the issue Cardano DB v2 restoration is missing 00000 immutables #2519
  • Completed the issue Signer fails to access Cardano node after it has rebooted #2426
  • Worked on the issue Record usage of client type in metrics #2494
  • Worked on the issue Stabilize Cardano DB v2 client CLI/library #2493
  • Worked on the issue Implement the n2c Local Message Submission mini-protocol in Pallas #2515
  • Worked on the issue Implement the n2c Local Message Notification mini-protocol in Pallas #2516
  • Worked on the issue Add a Mithril client CLI command for UTxO-HD ledger state snapshot conversion #2492
  • Worked on the issue Upgrade to Cardano 10.4 #2487
  • Worked on the issue Re-organize STM library structure #2369

· 2 min read
Ziyang Liu

High level summary

Over the past two weeks, the Plutus Core team made a range of improvements across Plutus, Plinth, and supporting documentation.

On the Plutus side, we completed conformance tests for the modular exponentiation primitive and added builtin arrays to the Plutus Core specification. We also enhanced error reporting in the CEK machine, making evaluation failures easier to diagnose.

On the Plinth side, we added support for integer equality using (==) from base, which allows for more idiomatic pattern matching on integer literals, such as f 5 = ....

We also made several documentation updates. The Haddock documentation for builtin functions was expanded in PlutusTx.Builtins.Internal. We contributed a new landing page for Plutus to the Cardano Blueprint site to help external teams get started. Lastly, we updated the Builtins Overview to reflect recent changes.

Low level summary

Key Pull Requests Merged

Issues and Pull Requests In Progress

· 4 min read
Michael Karg

High level summary

  • Benchmarking: Feature benchmarks for ledger metrics tracer and InboundGovernor optimizations.
  • Development: Ledger metrics merged; 2 hotfixes for old tracing.
  • Infrastructure: Migration plan for on-disk benchmarks (LMDB, LSM-tree); initial Leios impact analysis.
  • New Tracing: Tracer service now independent of Node; new feature enabling forwarding over TCP.

Low level overview

Benchmarking

We've completed two distinct feature benchmarks: The new periodic ledger metrics tracer and InboundGovernor optimizations on the network layer. Both features have shown a positive performance impact; the former improves CPU usage and block production metrics, the latter slightly improves diffusion metrics.

Development

Having finalized and benchmarked the periodic ledger metrics tracer feature, it was merged to master and will be part of the upcoming 10.5 release. The feature decorrelates obtaining several metrics from the beginning of the forging loop. This avoids competition for synchronization primitives during the "hot phase" of block production. Furthermore, by decoupling those metrics from a forging tracer, we enable exposing those metrics from a relay as well. cardano-node PR#6180

Additionally, we've been vital in creating two hotfixes for the old tracing system:

  1. The old tracing system metric utxoSize was missing due to using the pre-UTxO-HD variant of querying the set size. The fix ports the correct solution from the new tracing system to the old one: cardano-node PR#6217
  2. On the upcoming Node 10.5 integration branch only, the old tracing system could leak file descriptors. Again, the fix was ported from the new tracing system to the old one - kudos to Karl Knutsson: iohk-monitoring PR#654

Infrastructure

We've discussed and set up a migration plan for our benchmarking cluster hardware. For fair and representative performance measurements of on-disk backing stores of UTxO-HD, we require direct SSD storage on the machine instance in the cloud; running disk I/O through additional layers to and from some shared SSD device, even in the same data center, would introduce significant confounding factors. The plan includes invalidating as little of our existing performance baselines as possible when migrating to the new hardware. We're looking forward to benchmark the current on-disk backend (LMDB) for block producers - as well as the futuere LSM-tree based one.

We've also discussed an initial Leios impact analysis. To fairly and reliably benchmark a future Leios implementation, our infrastructure and tooling will need to be extended significantly. Several metrics won't have the same weight they currently carry for Praos, due to Leios' later finality; other metrics will need to be introduced for different new Leios block types, adding appropriate observability to the implementation. Finally, creating and submitting a saturation workload for a system which is built for extremely high throughput will be a challenge in itself.

New Tracing

We've been working on a medium-sized refactoring that eliminates the cardano-node dependency from cardano-tracer. This means, the tracer service can now be built independently of the Node; all shared data types have been moved to some more basic packages of the new tracing system. This also enables us to issue releases of the tracer service independently of the Node's release cycle. cardano-node PR#6125

Last not least, we've kicked off development for a new feature that's been motivated by community feedback: Forwarding observables (trace messages, metrics) over TCP. Forwarding to different hosts currently assumes a UNIX domain socket that connects the Node and the tracer service through an SSH tunnel. This is a portable, versatile, and probably one of the most secure ways to transmit sensitive data. However, in an environment where an operator controls all network port mapping and firewalls, one can argue that forwarding over TCP/IP is equally viable, as it can be properly isolated - and it is much more convenient to set up and configure. The feature aims, when it's completed, to offer both forwarding routes, and let the end user decide.

· 2 min read
John Lotoski

High level summary

The SRE team continues work on Cardano environment improvements and general maintenance.

Some notable recent changes, updates or improvements include:

  • Cardano-node and cardano-cli release versions are now set to 10.4.1 and 10.8.0.0, respectively, in cardano-parts release v2025-05-22.

  • The upcoming node 10.5 [pre-]release is being configured to use genesis mode by default on preview and preprod environments.

  • SRE is collaborating with IT Sec team to further harden our infra and clusters.

Repository Work -- Merged

Cardano-parts

  • Sets node release to 10.4.1, cardano-cli release to 10.8.0.0 and mithril to v2517.1. Adds mithril ancillary key support for signed volatile and ledger state. Switches to a blockPerf fork which can be used without publishing metrics to CF, ex: for testnet usage. Includes additional misc fixes and improvements described in the PR/release header. cardano-parts-release-v2025-05-22

Cardano-mainnet

  • Sets node release to 10.4.1, cardano-cli release to 10.8.0.0 and mithril release v2517.1. Includes various improvements with cardano-parts release v2025-05-22. Deploys all machines to 10.4.1. cardano-mainnet-pr-34

Cardano-node

  • Bumps iohkNix for 10.5 network param changes, preview/preprod default GenesisMode consensus config, per env useLedgerAfter and peer-snapshot updates. Updates CI for the iohkNix config changes. In the cardano-node nixos service, sets preview and preprod environments to use peer-snapshots. Enables genesis mode to work OOTB for preview/preprod on: docker images, binary artifacts, nixos built machines. cardano-node-pr-6225

Cardano-playground

  • Sets node release to 10.4.1, cardano-cli release to 10.8.0.0 and mithril release v2517.1. Deploys blockPerf to all testnet machines without publishing metrics to CF. Includes various improvements with cardano-parts release v2025-05-22. Deploys all machines to 10.4.1. cardano-playground-pr-46

Iohk-nix

  • Adds mithril network ancillary verification keys: the ancillary verification keys are a breaking change required to pull ancillary mithril state (ie: ledger and volatile state) in addition to immutable state. In earlier mithril releases, the ancillary state was bundled together with the immutable state. iohk-nix-pr-598

  • Node 10.5 updates: set GenesisMode for ConsensusMode as default on preview and preprod; tunes TargetNumberOfEstablishedPeers, and SyncTargetNumberOfEstablishedBigLedgerPeers per network team request; updates peer-snapshots per environment; updates useLedgerAfterSlot per environment. iohk-nix-pr-599

Repository Work In Progress -- PRs and Branches