Skip to main content

· 2 min read
Noon van der Silk

High-level summary

We released 0.19.0 of the hydra-node, where the ledger has been upgraded to Conway, while still maintaining compatibility with Babbage transactions. We made some small improvements to the TUI, and did some investigations into a "Head-In-Head"-style operation of hydra, where one Head can be used to launch another. This isn't supported officially yet, but we will be considering it in the future. Up next we will continue on incremental commits, work towards a Blockfrost chain layer, and continue investigations into our core networking, and finally spend some time planning some potential upcoming Hydra Doom-related work.

What did the team achieve?

  • Switched ledger to Conway #1178
  • Remain compatible with Babbage transactions #1608
  • Manual address entry in the TUI #1607
  • Completed an investigation into "Two-phase commit" for reliability #1597
  • Hydra "Head-In-Head" Spike #1590
  • Fixed Aloglia search index on docs site #1556
  • Updated to use cardano-node 9.1.1 and mithril 2430 #1630
  • Added "HeadId" into the "Greetings" message #1557
  • Change network semantics to broadcast to everyone #1624
  • Released 0.19.0 with ledger in Conway, among other fixes

What's next?

  • Continued work on incremental commit #199
  • Continued work on Blockfrost integration #1305
  • Investigate raft for consensus networking #1591
  • Work and planning for more Hydra Doom-related activity

· One min read
Jean-Philippe Raynaud

High level overview

The Mithril team continued working on decentralizing the signature orchestration of the Mithril network. They kept implementing a buffer store for individual signatures that may arrive before being processed by an aggregator, worked on refactoring the signer state machine, and started developing a mechanism to support specific configurations for signing Cardano transactions. Additionally, they fixed the panics occurring in the signer and aggregator during Cardano chain rollbacks.

Finally, the team continued preparing the next distribution and investigated a problem preventing the consistent certification of Cardano transactions in the pre-release-preview network.

Low level overview

  • Completed the issue Panic on rollback on slot number not recorded in the Cardano transactions store #1929
  • Completed the issue Test Cardano transaction chain rollbacks #1840
  • Worked on the issue Release 2437 distribution #1901
  • Worked on the issue Cardano transactions certification stopped in pre-release-preview #1938
  • Worked on the issue Aggregator buffers signatures for unknown open message #1900
  • Worked on the issue Refactor state machine of the signer #1922
  • Worked on the issue Retrieve custom signing configurations with epoch settings in signer #1923
  • Worked on the issue Breaking change in crane fails Hydra CI #1928

· 2 min read
Marcin Szamotulski

High-level overview of sprint 70

Cardano CLI

cardano-cli ping command cannot send pings over unix sockets using node-to-client mini-protocol (since it doesn't support it). In that case, the command will now show a user-friendly error message. See cardano-cli#49.

Mithril

We held a session with the mithril team to discuss design & implementation of Mithril using ouroboros-network.

Ouroboros-Network

TxSubmission Logic

We continued working on tx-submission logic. We developed new tests that run several simulated outbound peers offering transactions and a single inbound peer governed by the new tx-submission logic. Ref ouroboros-network#3311.

The next step is to clean the branch and integrate it with ouroboros-consensensus & cardano-node for early e2e tests.

Bulk-Sync for Genesis

We reviewed the new bulk-sync application for Genesis mode, see ouroboros-network#4919.

Typed-Protocols

We reviewed the new typed-protocols API PR. It was recently merged & published to CHaP. Once Haskell.Nix has better support for public sub-libraries, we will package all the libraries in one package and publish it on Hackage. Ref: typed-protocols#52.

The next step is to update, review the integration PR in ouroboros-network, see ouroboros-network#4935.

Nightly Tests

We fixed a long-due failure on a nightly test. The failure was due to IOSimPOR ability to reorder simulated IO actions, resulting in a wrong order of events. So, it's not a bug in the production code but in the test itself. See ouroboros-network#4948.

Updated readme file

We updated the dependency graph in our README.md file.

Next Sprint

sprint-71

· 2 min read
Jordan Millar

2024-09-04 - 2024-09-18

High level summary

In line with our ongoing refactoring work, we began propagating the experimental api in cardano-cli. This will continue for several sprints as we remove eras prior to mainnet in order to reduce the unnecessary complexity of cardano-api's and cardano-cli's codebases. Other work:

  • New functionality has been added to cardano-cli and cardano-ping
  • Collateral balancing bug has been fixed in cardano-cli
  • optparse-applicative-fork dependency has been removed
  • Various refactors and improvements to cardano-testnet

cardano-cli

cardano-api

cardano-node

cardano-testnet

docs

CI & project maintenance

· One min read
Kevin Hammond

Unexpected Ledger State Replay in the Conway era

An issue was identified shortly before the Chang hard fork: it was found that ledger state snapshots would break ledger replay in the Conway era under mainnet conditions. The ledger and consensus teams worked rapidly to resolve the issue with a hotfix released within 24 hours of the hard fork. In order to avoid pauses in node availability, it was recommended that users should not restart their node process until they had upgraded their node to the hotfix - this included any node type: relays, block producers, DB-Sync nodes, etc.

The issue is documented here. The cause was a slight inconsistency between the ledger state snapshots that were written and those that could be read back; a side effect of the removal of pointer addresses in the Conway era. Nodes version 9.1.1 and later resolve this issue.

Further Details

Node version 9.1.1

GitHub Issue