Skip to main content

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team made progress in adapting the Mithril client library for WASM compilation and providing a JavaScript API for it. They also completed the optimization of the aggregator's performance. Additionally, the team initiated the implementation of a testing Mithril network for SanchoNet and conducted threat modeling and risk analysis for P2P networking.

Finally, they enhanced the developer experience of the Mithril client library by providing ready-to-run examples in the repository and implemented a workflow to manually publish libraries on crates.io.

Low level overview

  • Worked on the issue Light Wallet: Release mithril-client WASM library #1336
  • Worked on the issue P2P threat modeling and risk analysis #1350
  • Worked on the issue Create a test network on Sanchonet #1173
  • Worked on the issue Upgrade breaking changes crates #1357
  • Worked on the issue Enhance Mithril/Cardano node communication #1315
  • Completed the issue Enhance aggregator REST API performances #1327
  • Completed the issue Signer runtime is stuck for some SPO #1312
  • Completed the issue Make mithril-client examples full crates #1385
  • Completed the issue Manual publication to crates.io with GitHub action #1380
  • Completed the issue Remove sqlite dependency from mithril-client crate #1390

· 3 min read
Michael Karg

High level summary

  • Benchmarking: Release benchmarking for node 8.7.0. Also, we performed the first-ever Conway benchmarks.
  • Development: Conway capability of our workload generator has been implemented and merged to master.
  • Infrastructure: Changes to our workbench facilitating easy access and archiving of raw benchmarking data.
  • Tracing: Quality-of-life improvements to tracing output and addition of a test suite.
  • Nomad cluster: Expand the list of benchmarking profiles that can be run on Nomad; generalize cluster topology generation.

Low level overview

Benchmarking

A full set of benchmarks for node 8.7.0 has been performed, with the focus of enabling the next mainnet release. We've measured slight performance improvements of 8.7.0 over 8.6.0, and can confirm no regressions have been introduced.

Furthermore, we've run system integration level benchmarks in the Conway era for the first time, on the same node version. Only Babbage-compatible workloads have entered comparison as to ascertain performance consequences of only changing the ledger version, and nothing else. The results are very promising, as we could show that switching ledger versions for existing workloads does not come with a performance penalty.

Development

Our transaction generator has been extended to be able to submit all present benchmarking workflows in the Conway era. Currently, we're looking into adding Conway-exclusive features, such as DRep registration. Those would be submitted at the very beginning of a run, as we're interested in seeing potential performance implications of maintaining DRep sets of varying size in ledger. Furthermore, this will serve as the basis for future development Conway-exclusive workloads, such as governance actions or vote tallying.

Infrastructure

As our workbench will be pivotal in orchestrating and organizing benchmarking runs on the Nomad cloud backend, we've improved how raw benchmark data is tagged, which metadata is documented in an automated manner. This enhances both access to existing run sets, as well as maintaining an archive for benchmarking data.

Tracing

The new tracing system is currently receiving usability improvements as we're reworking the output of several trace messages. Additionally, we're setting up a rigorous test suite to provide safety for future development of and component integration inte the system.

Nomad backend

We've been working on adapting various benchmarking workloads, which are defined by our workbench's profiles, to running on the new infrastructure. This mainly concerns a workload utilizing Plutus, as well as peer-to-peer flavoured workloads. Furthermore, we're implementing a solution to create all possible cluster topologies algorithmically, instead of still using fixed literal definitions for some cases.

· One min read
Sebastian Nagel

High-level summary

This week, the Hydra team conducted a packed Monthly Review meeting, featuring demonstrations and the preparation of the monthly report. They addressed flakiness in tests and enhanced the logs json schema, improving overall test reliability. Additionally, the team successfully built MacOS ARM64 (aarch64-darwin) binaries in CI, expanding platform support. They further improved the network configuration by detecting incompatible persisted states, contributing to overall system robustness. Finally, the team released version 0.14.0, highlighting their commitment to delivering regular updates and improvements.

What did the team achieve this week

  • Monthly Review meeting packed with demonstrations and prepared monthly report #1189
  • Fixed several flaky tests and improved the logs json schema #1188#1190#1192
  • Built MacOS ARM64 (aarch64-darwin) binaries in CI #1182
  • Improved network configuration by detecting incompatible persisted states #1174
  • Released version 0.14.0

What are the goals of next week

  • Start work on incremental decommit
  • Continue shepherding contributed PRs to completion
  • Finish stateless-observation work
  • Open a head on a Conway network

· One min read
Damian Nadales

High level summary

The Consensus team implemented and tested a patch that does not propagate future headers. It is under review, and we expect it can be released in the next Cardano node version. On the UTxO-HD front, we finished prototyping the LedgerDB and BackingStore redesign, which is required for the LSM-tree integration and might help us implement a more resource efficient in-memory backend. With this prototype finished we can start integrating the rest of the code. We investigated the unexpected performance degradation observed when acquiring the block context. We also released Cardano node 8.7.0 and moved tree-diff outside cardano-ledger libraries.

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team released the initial version of the Mithril client library, enabling developers to integrate core Mithril features into their applications. They also released a new distribution, 2347.0, which includes support for slim certificate production by the aggregator, along with bug fixes and performance improvements.

The team also introduced the initial version of Cardano/Mithril node communication enhancements, implemented by TxPipe as part of the Catalyst project. They made progress in decentralizing Mithril networks, including testing the Mithril peer-to-peer (P2P) relay on a test network and conducting threat modeling and risk analysis for P2P networking. Additionally, they started working on adapting the Mithril client library for WASM compilation and made progress in optimizing aggregator performance.

Finally, they fixed inaccuracies in the verbosity level of logs across most nodes and worked on troubleshooting for some users.

Low level overview

  • Release of the mithril-client library crate
  • Publication of a dev blog post about the released Mithril library
  • Released the new distribution 2347.0
  • Worked on the issue Light Wallet: Release mithril-client WASM library #1336
  • Worked on the issue Enhance Mithril/Cardano node communication #1315
  • Worked on the issue P2P threat modeling and risk analysis #1350
  • Worked on the issue Enhance aggregator REST API performances #1327
  • Worked on the issue Signer runtime is stuck for some SPO #1312
  • Completed the issue Support P2P relay in infrastructure #1361
  • Completed the issue Make Cardano node version custom in CI/CD #1355
  • Completed the issue Manually deploy a test Mithril network #1356
  • Completed the issue mithril-client verbosity not following usage menu #1325
  • Completed the issue Error message for mithril-client snapshot download #1375