Skip to main content

Network Team Update

· 2 min read
Marcin Szamotulski

High-level overview of sprint 41

24th July - 6th August 2023

We started the implementation of bootstrap peers. Bootstrap peers are designed to provide a safety guarantee for nodes joining the network while still taking advantage of the distributed network for nodes that are synced. This will be an intermediate step before Genesis which will allow for further distribute the system. The bootstrap peers will be run by some trusted partners like CF, Emurgo or IOG. They are primarily designed for leaf nodes (e.g. full node wallets), which often end up syncing and require access to the honest chain. See ouroboros-network#4615 for a more detailed implementation plan.

Other contributions

We started to use nothunks library to discover if we have any unevaluated thunks which can lead to memory leaks ouroboros-network#4633. We found a small one in the peer metric component of the P2P networking stack. Fixing it put us on a small detour of fixing the API of the strict-checked-vars package: cardano-base#431, cardano-base#432, as well as adding NFData instance to io-classes. We also improved nothunks library to make debugging easier and we provided a NoThunks instance for ThreadId which we will need in the future (see nothunks#33).

We released a new version of io-classes (version 1.2.0.0) and related packages to Hackage.

We addressed all review comments on the eclipse evasion PR which introduces big ledger peers, ouroboros-network#3886.

We fixed how SIGHUP signal handlers are registered, so it's not possible to shutdown a node which was starting while trying to update network topology, see cardano-node#5421.

I didn't mention that in the previous update, so here it goes: in the previous sprint we released ouroboros-network-0.8.2.0 and ouroboros-network-framework-0.7.0.0.