Skip to main content

· One min read
Sebastian Nagel

High-level summary

This week, the Hydra team published the monthly report for March, created separate links for different versions of documentation, and clarified potential solutions for the Rollbacks bug. The team also discussed Query API requests for the Hydra Voting project and met with community members to answer questions about Hydra. Moving forward, the team plans to integrate the specification into the repository, implement a short-term fix for the Rollbacks issue, and draft a Query API ADR.

What did the team achieve this week

  • Published monthly reports on website
  • Separate last released and latest versions of docs (e.g. normal released vs. /unstable)
  • Discussed Query API concerns from Hydra Voting project (link)
  • Clarified rollbacks bug and defined possible solutions (short and long term) #784
  • Met with community members to answer questions about Hydra

What are the goals of next week

  • Finally get the docs integrated into the repository #693
  • Dirt road fix for rollbacks #784
  • Disclaimer text and detail known issues about mainnet compatibility #713

· 2 min read
Jean-Philippe Raynaud

High level overview

The Mithril team released a new 2313.0 distribution that implements minor improvements and bug fixes. They continued implementing the migration of the aggregator stores to a relational design. They finished adaptating and migrating the certificate, epoch settings, signed entity type, signer registration and open message stores. Additionally, they completed the refactoring of the dependency injector of the aggregator and simplified its multi-signer in order for it to sign multiple concurrent messages.

Finally, the team has worked on designing the new architecture of the network to support signing multiple types of data and upgraded the version of the Cardano node used in the Mithril testnets and devnet to 1.35.6.

Low level overview

  • Released the new distribution 2313.0
  • Worked on the epic that implements a relational store in the aggregator #779:
    • Completed the migration/adaptation of the epoch_settings table #813
    • Completed the migration/adaptation of the signed-entity-type table #815
    • Completed the migration/adaptation of the certificate table #817
    • Completed the migration/adaptation of the open_message table #827
    • Completed the migration/adaptation of the signer_registration table #828
  • Completed the refactoring of the dependency injection of the aggregator #823
  • Completed the cleanup of the multi-signer of the aggregator #824
  • Completed the upgrade of the Cardano node to 1.35.6 #843

· One min read
Damian Nadales

High level summary

This week the consensus team finished the UTxO-HD prototype refactoring. We are now working on improving the DB lock mechanism to improve performance. We also introduced several improvements to the file system abstraction and simulation layer (fs-sim), which culminated in the release of fs-sim-0.1.0.0 and fs-api-0.1.0.0 to CHaP.

On the Genesis front we distributed the updated Genesis design document, soliciting feedback from Networking Team and IOG Researchers. We also opened up a PR for the adversarial leader schedule QuickCheck generator, which is being reviewed.

On the support front, we got a new Consensus version that can use different fundamental VRF crypto primitives for Babbage and Conway eras.

On the tech debt front we fixed an bug in the followers logic, which was discovered by our QuickCheck property tests.

· 2 min read
Jordan Millar

2023-04-05 - 2023-04-19

High level summary

  • Introduce new governance commands create, answer and verify. This allows us to have onchain polls.
  • Begin making changes in cardano-api to accomodate for CIP-1694
  • Rename TestEnableDevelopmentHardForkEras to ExperimentalHardForksEnabled and TestEnableDevelopmentNetworkProtocols to ExperimentalProtocolsEnabled
  • Various bug fixes and improvements

docs

CI & project maintenance

Developer experience

cardano-cli

cardano-api

cardano-node

cardano-testnet

· 3 min read
Michael Karg
  • Benchmarking: We worked on adjusting our infrastructure to the new 8.0 release branch and performed a (very) early run.
  • New tracing: We're profiling the new tracing system for minimizing its resource footprint and guarantee high throughput.
  • Analysis pipeline: Variance analysis both for reporting and for serving as a point of comparison has been merged.
  • Infrastructure: A library for Plutus scripts will be integrated in our tooling and benchmarking profiles. Also, a profile family aimed at the tracing systems has been added.
  • Nomad backend: Various specializations of the backend are currently being implemented, along with streamlining credentials management.

Benchmarking

We have adapted our benchmarking cluster to the requirements of the 8.0 release branch. Testing runs of a very early feature branch for 8.0 helped us localize an important issue in collaboration with the other teams. We look forward to gathering preliminary metrics for 8.0 soon.

Tracing

Analysis of resource usage profiles of both the legacy and new tracing system, with and without trace forwarding, have lead us to gather very detailed profiling data for each possible setup. This is to ensure we keep resource usage within the node to an absolute minimum, while still providing the highest possible throughput of data for forwarding to cardano-tracer.

Additionally, we've worked on a very practically-oriented document targeted at end users of the new tracing system. It provides tested step-by-step instructions for tunneling trace forwarding from a node to cardano-tracer via an easy to manage system service, which will match the production setup of most users.

Infrastructure & Analysis

General

Variance analysis as a full-fledged entity in our tooling has been merged. Not only is this type of analysis now part of our reporting pipeline - variance analysis can be fed back and serve as an additional point of comparison.

Furthermore, we've created a profile family for the workbench that's specifically aimed at measuring and comparing tracing system configurations.

Plutus library

We opened a PR containing a new package for benchmarking - an extendable library that holds all Plutus scripts we use in our benchmarking profiles. This will enable us in the future to iteratively work on customizing any given script, and the way is called in the context of a specific profile. It is a refinement of current affairs, where we have additional build inputs solely to generate a static script file tied to an external commit.

Nomad backend

The nomad backend is being specialized in three ways: using a podman driver locally, using nomad agents supporting nix installables, and using nomad cloud agents. This supports having a common surface independent of the actual backend driver being used. In addition, vault retrieval and management of cloud access credentials is being improved to minimize any friction for the backend user.