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
.