Skip to main content

System Test Team Update

· 2 min read
Martin Kourim
System Test Engineer

High level summary​

Since the last update (2023-03-26) we did more improvements on our Test Framework, added more automated tests, kept analyzing and fixing nightly jobs failures, tested the 1.35.7 and 8.0.0 releases.

Workstreams​

Full list of closed PRs

Framework improvements:​

  • Make cardano-submit-api REST API service available and run corresponding regression tests by default
  • Update cabal build testing for 8.0.0
  • Add support for testing governance SPO poll
  • Use Poetry for Python dependency management
  • Check status of known GH issues during tests runtime and finish the test accordingly
  • Generate topology files with both IP addresses and DNS names
  • Log issues like failure to start a cluster instance and report errors during tests runtime

Testing improvements​

  • Add rollback testing:
    1. global consensus is reached after rollback, in situation where less than securityParam blocks were produced since cluster split
    2. global consensus is not reached when more than securityParam blocks were produced, and the result is permanent fork
  • Add tests to governance SPO poll commands

Node:​

DB-Sync:​

  • improvements in db-sync sync tests
  • improvements in db-sync functional tests

Node API & CLI Team Update

· 3 min read
Carlos LopezDeLara
Node Product Owner

2023-06-07 - 2023-06-20

High level summary​

  • Completed cardano-cli migration to input-output-hk/cardano-cli
  • cardano-cli ping now uses cardano-ping-0.2.0.5
  • New queries on API:
    • queryCurrentEpochState
    • queryDebugLedgerState
    • queryGenesisParameters
    • queryPoolDistribution
    • queryPoolState
    • queryProtocolParameters
    • queryProtocolParametersUpdate
    • queryProtocolState
    • queryStakeAddresses
    • queryStakeDistribution
    • queryStakePoolParameters
    • queryStakeSnapshot
  • Deprecate:
    • queryPparams
  • Export query API as functions
    • genFeatureValueInEra
    • featureInShelleyBasedEra
    • isFeatureValue
    • valueOrDefault
    • asFeatureValue
    • asFeatureValueInShelleyBasedEra
    • queryEpoch
    • requireShelleyBasedEra
  • Restructure cardano-testnet (WIP)

cardano-cli​

cardano-api​

cardano-node​

cardano-testnet​

docs​

CI & project maintenance​

Hydra Team Update

· 2 min read
Franco Testagrossa
Hydra Software Engineer

High-level summary​

This week, the Hydra team has put their effort on finding solutions on many different problems, such as our broken head on mainnet #897, our fragile monthly report publications on the website and implementing “Option A” for external commits #215. Although most of these items are still open, huge progress has been made. To accelerate the investigation, they improved their logging to give more precise errors when a transition requirement fails, and to reduce duplication on effets logged content. Last but not least, the team is exploring formal methods and attended a workshop on formalizing cryptographic protocols in Agda.

What did the team achieve this week​

  • Continued investigating broken head and opened an issue to keep track #897.

    As part of this issue, improvements were made to the node logs:

    • Give a precise error when a transition requirement fails #895.

    • Reduce duplication for effects logged content by using sequential eventId and effectId pair #896.

  • Fixed references in the hydra specification #893.

  • Attended a workshop on formal methods and crypto in Agda.

What are the goals of next week​

  • Investigate and re-open our team-internal head on mainnet.
  • Improve and provide regular benchmarks for Hydra #186.
  • Complete journey for external commits implementing “Option A” and start implementing “Option B” #215.
  • Authenticate network messages #727.
  • Add hydra as tool to developr platform #872.
  • Fix monthly report publication on docs website.

Mithril Team Update

· 2 min read
Jean-Philippe Raynaud
Mithril Tech Lead

High level overview​

The Mithril team released a new 2321.1 distribution that fully implements the mechanism developed to sign generic data. They completed the upgrade of the Cardano node in the Mithril networks to v.8.0.0 and the implementation of the new computation of the stake distribution. They refactored the state machines of the signer and aggregator, and the signed entity service of the aggregator. Additionally, they worked on adapting the client and implementing a new sub-command for restoring the Cardano immutable file snapshots.

Finally, the team worked on adding a new certificate list route in the aggregator REST API, and started enhancing the infrastructure of the Mithril networks.

Low level overview​

  • Released the new distribution 2321.1
  • Worked on the epic that designs and implements generic signing/verification of entity services #780:
    • Completed the issue Enhance MessageAdapter for Artifact in aggregator REST API #925
    • Completed the issue Create the sub-command for 'Cardano Immutable Files Full' in client #895
    • Completed the issue Enhance state machines Aggregator/Signer #933
    • Completed the issue Adapt the aggregator REST API to list certificates #892
    • Worked on the issue Adapt end to end tests to handle new types of data #899
    • Worked on the issue Update client documentation #897
    • Worked on the issue Update architecture documentations for new types of data #898
  • Worked on the epic that prepares the Mithril infrastructure for mainnet #767:
    • Worked on the issue Enhance terraform infrastructure #930
  • Worked on the epic that implements the computation of the stake distribution for mainnet #880:
    • Completed the issue Upgrade Cardano node to '8.0.0' #920
  • Completed the issue Add export path in Client CLI #512

Consensus Team Update

· One min read
Damian Nadales
Consensus Team Lead

High level summary​

During the Past two weeks we drafted an implementation path for concluding that a node is caught up, which will also be used to back Network's ledger-peer selection (see this issue). We also carried a thorough investigation into the exact feasibility of applying the Genesis rule to certain historical parts of the chain.

On the UTxO-HD front, we are working on improving the ledger tables design and wrapping up the improved DB locking mechanism. We also released packages that are required not only by UTxO-HD but are already used in cardano.

UTxO-HD​

  • We have a plan for making the ledger tables in UTxO-HD more ergonomic by mimicking SOP classes like HPure and HAp . In short, we implement generalised versions of important classes like Applicative and Traversable.

Support​

  • fs-sim-0.1.0.2 and fs-api-0.1.0.2 were released, which makes them now compatible with GHC up to 9.6.
  • ouroboros-consensus-0.7.0.0 was released for cardano-node 8.1, including query serialization fixes for backwards compatibility.