Skip to main content

· 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:

  • Sanchonet was respun after a community scheduled test hardfork to PV11

  • Buildkite agent modules were added to cardano-playground

  • Adds a latest tag GHA action to cardano-node upon new release publication

Repository Work

Cardano-parts

  • Cardano-node has been updated to 10.1.4, cardano-cli and the -ng variant to 10.1.1.0 and 10.2.0.0 respectively, and mithril to v2450. Colmena has been updated to utilize a new pure flake evaluation approach. New nix jobs were added for a new "next-gen" network spin up method, which supports network creation with a fork directly to Conway and then retirement of the genesis bootstrap pool in favor of on-chain registered backbone pools. CI tests to support these new jobs were added. The recipe to query governance actions was updated with the latest voting calculations and the output was improved with color and additional reporting totals. A psql prepared statement for voting activity over time was added to the postgres module. Other small miscellaneous improvements and clean up were made with details available in the release notes: cardano-parts-release-v2025-01-17

Cardano-playground

  • Cardano-node has been updated to 10.1.4, mithril to v2450 and all envs deployed. Buildkite modules were added to support fast buildkite agent scaling in any AWS region. Sanchonet was respun after a planned community hard fork test. The recipe to query governance actions was updated with the latest voting calculations. A new start-demo-ng recipe was added to utilize a new "next-gen" spin up method. More detail is available in the PR description: cardano-playground-pull-39

Cardano-mainnet

  • Cardano-node has been updated to 10.1.4 and mithril to v2450 and all machines deployed. The mainnet canary dashboard was updated with a governance voting analysis panel. The recipe to query governance actions was updated with the latest voting calculations. More detail is available in the PR description: cardano-mainnet-pull-29

Cardano-node

  • Adds GHA steps to push a latest tag for node and api containers on release events where the tag is the latest release. Updates the docker-compose to default to the latest tag and bumps iohk-nix for an updated target number of established peers. Fixes related configs to pass CI checks. cardano-node-pull-6057

· 5 min read
Alexey Kuleshevich

High level summary

Due to the holiday season this time around the Ledger report will be from a period of 6 weeks instead of the usual 2 weeks. That being said, this is also the time when everyone goes on vacation. Therefore the report is larger than usual, but not as big as if two periods of reporting were skipped at a usual time.

Most of the effort was spent on polishing up some of the Conway features before the upcoming Plomin hard fork that is scheduled to happen some time in January, as well as continued testing of the Conway features in order to improve our confidence in the upcoming hard fork. Because of this effort we nailed a couple of serious bugs, fixes for which are included in the latest release, which is why an upgrade for all SPOs to the newest version of cardano-node-10.1.4 is highly advisable.

Another big allocation of effort was towards tackling some of the technical debt accrued over the years.

The most significant change by far in this report is the removal of crypto parameterization from every era definition in Ledger. This change was not only a huge simplification for the Ledger codebase, but it will be just as big of a simplification for all of the downstream users of Ledger. Most importantly, this change will finally allow us to switch to the newer version of the GHC compiler, because it addresses the performance regression that the newer compiler version was susceptible to.

One more major accomplishment that we can share is a drastic change to how serialization of UTxO happens in the ledger state. This change is planned to solve a long standing problem with blocks being missed due to the garbage collector kicking in at the time when the ledger snapshot was being created. Moreover this change will have a significant positive impact on UTxOHD performance when it will finally be released.

Another big milestone, with respect to tackling technical debt is a release of our cryptographic library, which was undergoing some major changes throughout the last couple of years. It was finally released and integrated into Ledger with all of the other downstream components set to follow.

We can also finally conclude our work on defining CDDL specification in Haskell as is it is now completely generated from a Haskell definition for all of the eras. Thanks to this effort we not only have a better confidence in the accuracy of our CDDL specification, due to extra type checking and testing we now get thanks to Haskell, but it also reduces duplication and complexity that usedq to stem from manual serialization specification definition for every Ledger era.

Low level summary

Features

  • pull-4778 - Huddle for Alonzo
  • pull-4790 - Add functions to convert hashes to and from VRFVerKeyHash
  • pull-4785 - CDDL:babbage: Switch to using Huddle/Cuddle
  • pull-4792 - Refactor Conway CDDL to reuse Babbage CDDL
  • pull-4776 - Create CLI for plutus-debug
  • pull-4788 - Get rid of crypto parametrization
  • pull-4800 - Move Crypto class to cardano-protocol-tpraos
  • pull-4810 - Deprecate AuxiliaryDataHash
  • pull-4813 - Add a check to MEMPOOL rule that prevents unelected CC from voting
  • pull-4828 - Fix cddl for update_committee cold credential
  • pull-4831 - Cleanup pointer serialization
  • pull-4811 - Integration of MemPack

Testing

  • pull-4783 - Fixed the certStateSpec
  • pull-4780 - Fix issues that prevent basic sumbitTx from passing conformance
  • pull-4766 - Use non-zero costmodels in Imp tests
  • pull-4791 - Move the list of predicate failures inside OpaqueErrorString
  • pull-4796 - Made it possible to use Imp logging in the conformance hook
  • pull-4740 - Constrained generators for EPOCH rule
  • pull-4732 - Tools for constrained generation of types that need witnessing
  • pull-4812 - Enumerate individual conway tests in conformance Imp
  • pull-4801 - Updated SpecTranslate instance of AlonzoScript, debug info improvements
  • pull-4817 - Included the hash in plutus script translation
  • pull-4821 - Enable Imp conformance for DELEG
  • pull-4822 - Improve error handling in constrained genFromSpec
  • pull-4819 - Removed hash size proofs

Infrastructure and releasing

  • pull-4787 - Use cabal-gild to format cabal files
  • pull-4793 - Fix bounds on quichckeck-instances and cardano-crypto-class
  • pull-4795 - Update haskellNix and CHaP and upgrade ghc-9.8.2 to 9.8.4
  • pull-4699 - Upgrade cardano-base dependency
  • pull-4803 - Add missing version bump in cardano-ledger-shelley-ma-test
  • pull-4805 - Add missing version bump in cardano-ledger-alonzo-test
  • pull-4809 - Fix formal-ledger-specifications SRP check in ci
  • pull-4816 - Backport release cardano-ledger-conway-1.18.1.0
  • pull-4815 - Backport release cardano-ledger-conway-1.17.4.0
  • pull-4824 - Pin ghc version in gen-hie CI job
  • pull-4825 - Bump jinja2 from 3.1.4 to 3.1.5 in /doc
  • pull-4833 - cabal.project: Update index-states

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team activated the certification of the Cardano stake distribution for the mainnet and upgraded all Mithril networks to Cardano node v.10.1.4. They also continued implementing the incremental certification of the Cardano database: they completed the artifacts creation and synchronization engine, completed the digests route for the incremental Cardano database in the aggregator REST API, and started working on the cloud synchronization of the artifacts.

Finally, they enhanced the golden tests implementations of the messages, worked on the split of the mithril-common crate, and investigated a bug in the client on Windows Power Shell.

Low level overview

  • Completed the issue Activate Cardano Stake Distribution certification in release-mainnet #2218
  • Completedthe issue Implement digests route for incremental Cardano Database in aggregator REST API #2174
  • Completed the issue Upgrade to Cardano 10.1.4 #2208
  • Completed the issue Align golden tests implementations in messages #2217
  • Completed the issue Implement artifacts builder for incremental Cardano database #2151
  • Worked on the issue Design mithril-common split & re-organization in repository #2175
  • Worked on the issue Implement artifacts cloud synchronization in Incremental Cardano DB with GCP #2211
  • Worked on the issue Mithril client does not work in Windows Power Shell #2199
  • Worked on the issue Upgrade testing-sanchonet for respin with Cardano 10.1.4 #2209
  • Worked on the issue Activate Pythagoras Mithril era #2034

· 2 min read
Jordan Millar

2025-01-01T00:00:00Z - 2025-01-15T00:00:00Z

High level summary

  • cardano-cli updates

    • Added datums and scripts support to friendlyTxImpl
    • Enhanced DRep functionality:
      • Disambiguated key vs script certificates
      • Added --output-bech32 and --output-hex options
      • Supported key hash inputs
    • Improved Conway genesis documentation
    • Released v10.2.0.0
    • Optimized CI with multi-core Haskell builds
  • cardano-api improvements

    • Implemented JSON schema validation for governance metadata
    • Added new query for big ledger peers snapshot
    • Enhanced transaction compatibility with certificates support
    • Refactored witness indexing system
    • Prepared for node v10.2.0 release
  • Infrastructure

    • Enabled parallel builds in GitHub Actions CI
    • Removed redundant cabal constraints

cardano-cli

cardano-api

cardano-node

  • None

cardano-testnet

  • None

docs

  • None

CI & project maintenance

· One min read
Damian Nadales

High level summary

  • The augmentation of headers with time, which helps simplify the way consensus handles time, is now ready for review (#1288).
  • Fixed a bug with the mempool being overly strict in rejecting certain large transactions (1352).
  • Incorporated the full rework of the block-fetch logic for bulk sync mode (#1179).
  • Released Consensus packages needed for Cardano Node 10.2 (ouroboros-consensus-protocol-0.10.0.0, release-ouroboros-consensus-diffusion-0.19.0.0, release-ouroboros-consensus-cardano-0.21.0.0, release-ouroboros-consensus-0.22.0.0).