Skip to main content

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team prepared a new pre-release distribution 2418.1-pre, which includes broader CPU support for pre-built binaries and a new memory allocator for the signer and aggregator nodes to prevent memory fragmentation. They also continued implementing the certification of Cardano transactions in Mithril networks and worked on scaling the signature and proof generation for mainnet by leveraging the compression of the transaction Merkle tree using sub-Merkle trees based on transaction block ranges during signature and proving. Additionally, they implemented a stream mechanism for importing transactions into the signer and aggregator stores.

Finally, the team started implementing a global Mithril networks configuration file and continued investigating some unexpected error logs occurring on the Cardano node when the signer and aggregator connect to the mini-protocols.

Low level overview

  • Created a pre-release for the new distribution 2418.1-pre
  • Completed the issue Store Block Range Merkle roots in signer and aggregator databases #1633
  • Completed the issue Stream import of Cardano transactions #1646
  • Completed the issue Memory leak in Cardano transactions signature/proof #1629
  • Completed the issue Handle unparsed blocks in Cardano transactions parser #1567
  • Worked on the issue Use Block Range Merkle roots to sign Cardano transactions #1634
  • Worked on the issue Use Block Range Merkle roots to prove Cardano transactions #1635
  • Worked on the issue Use SQLite transactions when inserting Cardano Transactions and Block Range Roots #1656
  • Worked on the issue Add Mithril networks configurations in networks.json #1638
  • Worked on the issue ChainObserver supports retrieving the Chain Point of the tip of the chain #1589
  • Worked on the issue Add section for manual setup of squid in SPO guide #1610
  • Worked on the issue Mithril Signer Local Error Policy : Error 182 - MuxError #1632

· One min read
Carlos LopezDeLara

2024-04-16 - 2024-04-26

High level summary

8.10.1-pre was released to SanchoNet.

The team continues focused on implementing tests for the Conway era on the cardano-node repository. This sprint the team made various improvements to CI pipelines on cardano-cli.

  • Cardano-cli: implemented build-estimate to facilitate automatic transaction balancing without access to a live node; and added minFeeRefScriptCostPerByte as an option to create-protocol-parameters-update command.

cardano-node

cardano-cli

cardano-api

cardano-testnet

docs

CI & project maintenance

· 3 min read
John Lotoski

High level summary

The SRE team continues work on cardano environment improvements and general environment maintenance.

Some notable recent changes, updates or improvements include:

  • Cardano-node 8.9.2 is now deployed to mainnet, preprod, preview and shelley-qa environments.

  • Cardano-node 8.10.1-pre is now deployed to sanchonet and also to one-third of IOGs preprod environment nodes and two-thirds of IOGs preview environment nodes.

  • Private chain for Voltaire team was paused with plans for a future respin.

  • The network team's ouroboros-network-ops machine cluster was re-written using the cardano-parts stack to upgrade from the nixops/terraform/niv stack it was previously using.

Lower level summary

Cardano-parts

  • Sets cardano-node to 8.9.2, dbsync-ng to sancho-4.2.0; mithril to 2412.0, iohk-nix to include new peerSharing defaults and introduce a new block producer config. Adds a new truncate-chain recipe and improves mithril related services. More detail is available in the PR description: cardano-parts-pull-38

  • Sets cardano-node pre (-ng) to 8.10.1, dbsync to 13.2.0.2; mithril pre (-ng) to unstable, iohk-nix and iohk-nix-ng pin includes new Cardano Foundation bootstrap relays. Adds new aws machine management and other recipes, metadata job support for pool creation, misc fixes and improvements. More detail is available in the PR description: cardano-parts-pull-39

Cardano-mainnet

  • Sets cardano-node to 8.9.2, mithril to 2412.0, iohk-nix to include new peerSharing defaults and colmena.nix cluster refactor for peerSharing adjustments and implements all updates in cardano-parts PR#38. See the PR description for more details: cardano-mainnet-pull-12

  • Sets dbsync to 13.2.0.2, iohk-nix and iohk-nix-ng to include new CF relays, adds new aws machine management recipes and implements all updates in cardano-parts PR#39. See the PR description for more details: cardano-mainnet-pull-13

Cardano-node

  • Default peerSharing true and add block producer config to release binaries. See the PR description for more details: cardano-node-pull-5789

Cardano-ops

Cardano-perf

  • Adds a caddy webserver for run reviews and tunes the NVME FS mounts for performance: cardano-perf-compare

Cardano-playground

  • Sets cardano-node to 8.9.2, mithril to 2412.0, iohk-nix to include new peerSharing defaults, refactors mdbook out of docs dir, adds example chain manipulation doc and implements all updates in cardano-parts PR#38. See the PR description for more details: cardano-playground-pull-21

  • Sets cardano-node pre (-ng) to 8.10.1, dbsync to 13.2.0.2, mithril pre (-ng) to unstable, iohk-nix and iohk-nix-ng to include new CF relays, adds a public TLS dbsync user connection option, stops private chain cluster and implements all updates in cardano-parts PR#39. See the PR description for more details: cardano-playground-pull-22

Iohk-nix

Ouroboros-network-ops

Sanchonet

Sanchonet-demo

· 2 min read
Alexey Kuleshevich

High level summary

Ability to specify CostModel for PlutusV3 in the genesis file was implemented, which will allow us to execute PlutusV3 as soon as we enter Conway era, which is essential for guardrails script. Important bugs that have been fixed:

  • Invalid reporting of InsufficientCollateral and ValueNotConservedUTxO predicate failures. In case of validation failure a confusing deserialization was reported instead of those predicate failures.
  • Calculation of votes for Constitutional Committee Members did not consider expired members correctly.
  • Useful function redeemerPointer was deprecated without good justification.

Besides bugfixes there was a lot of work done on the testing side. Constraint based data generation is receiving continuous improvements. More unit and property tests for Conway era functionality.

Low level summary

Conway

  • pull-4259 - Undeprecate redeemerPointer and expose it in cardano-ledger-api
  • pull-4252 - Add PlutusV3 CostModel to UpgradeConwayPParams
  • pull-4247 - Change the balance in InsufficientCollateral to DeltaCoin
  • pull-4267 - Expand TxAuxData interface
  • pull-4265 - Inline UTxO and UTxOW PredFailure for Conway
  • pull-4281 - Discount expired CC from CC-size calculation
  • pull-4290 - Add NoThunks instance for UTxO pred failures
  • pull-4288 - Fix burning tokens predicate failure

Testing

  • pull-4241 - Add fixup combinators to ImpTest framework
  • pull-4229 - Shrinking for constrained-generators
  • pull-4244 - Imptests: CommitteeMinSize affects in-flight props
  • pull-4269 - Fix generation bug for sums of positive member spec
  • pull-4266 - Add imptest to propose and enact unknown costmodels
  • pull-4261 - constrained-generators cleanup for hackage
  • pull-4279 - constrained-generators: Fix bug in toPreds for maps + add additional tests
  • pull-4272 - simplify foldMap interface to higher order syntax
  • pull-4283 - constrained-generators: add new test to test suite
  • pull-4286 - constrained-generators: refactor reify to reduce the number of binding sites + delay simplification more to avoid variable capture in higher order syntax

Infrastructure and releasing

  • pull-4260 - Bump idna from 3.3 to 3.7 in /doc
  • pull-4277 - Fixed formatting in HowToProfileLedger.md
  • pull-4282 - Bump plutus deps to 1.26
  • pull-4294 - Avoid cancelling scheduled CI when a new merge happens on master

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, most of the Mithril team attended the Cardano Buidler Fest #1 in Toulouse, France. They also continued implementing the certification of Cardano transactions in Mithril networks and worked on scaling the signature and proof generation for mainnet by compressing the transaction Merkle tree using sub-Merkle trees based on transaction block ranges. The team identified the source of an issue preventing proper memory release during the signing/proving of a large set of transactions and developed a fix for it. Additionally, they completed the prototype for decentralizing signer registration with the relay and a peer-to-peer (P2P) network.

Finally, the team implemented a configurable feature for test networks to log unparsable blocks instead of panicking and investigated some unexpected error logs occurring on the Cardano node when the signer and aggregator connect to the mini-protocols.

Low level overview

  • Completed the issue Mithril relay broadcasts signer registrations with P2P PubSub #1587
  • Worked on the issue Store Block Range Merkle roots in signer and aggregator databases #1633
  • Worked on the issue Stream import of Cardano transactions #1646
  • Worked on the issue Memory leak in Cardano transactions signature/proof #1629
  • Worked on the issue ChainObserver supports retrieving the Chain Point of the tip of the chain #1589
  • Worked on the issue Add section for manual setup of squid in SPO guide #1610
  • Worked on the issue Mithril Signer Local Error Policy : Error 182 - MuxError #1632