Skip to main content

· One min read
Marcin Szamotulski

High level summary

We continued working on eclipse-evasion. We also analysed and fixed a bug when using DNS names in local root peers. We continued working on engineering blog post about P2P. We released a new version of packages for cardano-node-8.1.0 release.

We improved our CI, removed obsolete scripts add extra validation which checks if files were updated.

We also improved release scripts.

Detailed summary

  • Eclipse evasion: #4462
  • Local root peers bug fix: #4559
  • Release to CHaP: #4573
  • CI improvements: #4572
  • Release script improvements: #4573

· 2 min read
Franco Testagrossa

High-level summary

This week, the Hydra team has worked on several fronts, including improvements of their CI speed, logs, documentation pages and adding the support for timed transactions. They also updated the "Coding Standards" for the project, improved the troubleshooting page on their website and wrote a section about how to operate a hydra node. Finally the team completed a feature request that allows clients to submit and validate transactions to their hydra nodes using time validity ranges, ensuring isomorphism with L1.

What did the team achieve this week

  • Complete validation of timed transactions feature #196.
  • Write ops instructions and troubleshooting #569 and improve logs.
  • Remove --ledger-genesis argument to hydra-node options #863.
  • Fix issue with garbage collected caches by using a new cardano-scaling.cachix in more workflows #877.
  • Use nix to build test binaries to increase CI speed #867.
  • Updated our Coding Standards.

What are the goals of next week

  • Monthly report & review meeting.
  • Have a first end-to-end journey for external commits implementing "Option A" #215.
  • Integrate spanish translation #866.
  • Improve and provide regular benchmarks for Hydra #186.
  • Allow commit transactions with multiple UTxO #774.
  • Explored stateless observation and refined hydra explorer ticket #696.

· 2 min read
Damian Nadales

High level summary

During the past two weeks we brought further improvements into the Genesis design in collaboration with the IO Research and Networking teams. These improvements concern the Genesis selection rule, candidate rule, and root peers usage. See the [Genesis][#genesis] section for more details.

Regarding our UTxO-HD prototype, during the past two weeks we put together a pull-request that improves the DB locking mechanism, started porting the mempool fairness improvements from our main branch, and integrated a new open source library (that implements cancellative monoids) that allowed us to simplify our code and get a small performance gain.

We improved our tooling by releasing an immutable DB server, which can be used for testing and benchmarking purposes, and a db-truncater program, which can be used in disaster recovery and benchmarking scenarios.


The consensus team working on Genesis:

  • Improved the genesis selection rule as a result of our interaction with IO Research.
  • Studied how the hard-fork combinator handles forecasting at era transitions, and improved our documentation.
  • Determined that the simplest candidate rule we had considered will work for the Genesis window at era transitions, at least for the MVP.
  • Elaborated concrete proposal for the Genesis State Machine.
  • Met with the Networking Team and advised/co-designed how to implement the stop gap usage of public trusted root peers before Genesis is released (it's similar to the Genesis State Machine).

The team is currently re-analyzing the Limit on Patience, which can be less aggressive now that we've re-introduced the Genesis State Machine.

· 2 min read
Jean-Philippe Raynaud

High level overview

The Mithril team released a new 2318.0 distribution that implements the last migration phase of the aggregator stores and embeds a bug fix for the signer registration. They also completed the implementation of the interfaces defined to provide certification for the immutable full snapshot of Cardano files and Mithril stake distribution. They finalized the implementation of the framework to sign generic types of data in the aggregator and the signer nodes. They also updated the runtime of the aggregator to handle open messages associated with the available types, and evolved the REST API of the aggregator to deliver the artifacts for these types. Additionally, they have upgraded the network explorer in order to display the artifacts and certificates for these different types.

Finally, the team started designing an on-chain decentralized signer registration process, and started implementing the new stake distribution computation available from Cardano node 8.0.0 (along with the backward compatibility for previous 1.35.x versions).

Low level overview

  • Worked on the epic that designs and implements generic signing/verification of entity services #780:
    • Completed the handling of multiple types of signed entity in the aggregator runtime #907
    • Completed the adaptation of the signer runtime to use the signable builder service #854
    • Completed the adaptation of the aggregator runtime to use the artifact builder service #869
    • Completed the appending of the next AVK to all protocol messages #888
    • Completed the adaptation of the aggregator REST API to retrieve the list/details of the artifacts produced #893
    • Completed the adaptation of the explorer to handle new artifact routes of the aggregator #927
  • Worked on the epic that implements the computation of the stake distribution for mainnet #880:
    • Completed the implementation of the new stake distribution computation in the chain observer #919
    • Worked on upgrading the Cardano node to 8.0.0 #920

· 4 min read
Michael Karg

High level summary

  • Benchmarking: We're preparing our model cluster to perform GHC9.2 benchmarks, as well as experimenting with increased dataset sizes.
  • New tracing: After optimization work on the new tracing system, another cycle of validation and documentation is due.
  • Analysis pipeline: First steps on implementing incremental analysis have been untertaken.
  • Open Sourcing: Exhaustive dataflow charts for both our analysis tool locli and our workbanch have been merged to master
  • Nomad backend: The first set of CI-centric workbench profiles have been adjusted and run on the nomad backend; currently we're porting the definition of our model cluster.
  • P&T Meetup: We had a very productive personal meetup in Lugano, Switzerland.
  • Offboarding: Sadly, we have to say goodbye to our team lead. Currently, we're busy with the handover.

Low level overview


As a compiler switch to GHC 9.2.7 for cardano-node's default build environment is around the corner, we're setting up our benchmarking cluster to handle the new version. Special attention is given to the fact that we might need more flexibility in switching compiler versions in the future. This also involves choosing a reliable baseline as reference point for inter-version comparisons.

Additionally we've been working on refining our model cluster: by increasing UTxO and delegation map sizes to closer match those of current mainnet, we strive to have a more accurate model - and thus be able to make more detailed predictions regarding performance. However, this still needs to be balanced against resource demand for all our cluster's nodes.


For our new tracing system, we're currently validating the behaviour of the system after optimizations have been applied. Furthermore, some quality-of-life details that have changed required us to revision the system documentation.


As a mid-term goal, we aim to provide incremental analysis of our benchmarking metrics. While currently, we can only reliably process runs that have been normally (or abnormally) terminated, we see the possibility of incrementally analysing ongoing runs, or any data source yielding our key metrics, as a huge opportunity to increase our operational flexibility. All in all, this approach entails building completely new features for our pipeline. A first effort to accomodate incrementally incoming data points has been undertaken.

Open Sourcing

A very involved and exhaustive documentation and visualization effort has been undertaken to make the data flow through our key benchmarking copmonents more accessible. As a result, detailed charts for both our LogObject CLI locli and our workbench have been merged to master.

Nomad backend

While our Nomad backend is reaching completion, and hardware setup is being implemented in collaboration with SRE, we've been adjusting those profiles of our workbench that target CI-oriented workloads to the new backend. Those profiles should demonstrate the full functionality of the nomad cloud backend.

Additionally, we're porting a first deployable version of our model cluster to nomad cloud, which will form the basis for validation of our actual key metrics with regard to those from the existing cluster.

Performance & Tracing Meetup

We held a personal team meetup in Lugano, Switzerland. In an amazing location, and with a great seminar room to focus, we had 2 very productive days together. Being able to discuss live and in colour, we could effectively synchronize on where the team is at, and how we want to develop in the future. Also, it was a great opportunity to finally meet in person.


Last not least we regret that our team lead is leaving at the end of May. Currently, he's handing over all his obligations, which requires reorganisation of team structure, and responsabilities of team members for specific tasks. Serge, we all want to thank you for your excellent and reliable lead; we very much enjoyed the time with you, and wish you all the best for your future endeavours!