High-level overview of sprint 42
Eclipse Evasion
We merged and released a new version of the ouroboros-network
package (version
0.9.0.0
) which includes big ledger peers feature.
This is the primary peer selection mechanism to defend against eclipses. We
also prepared a PR to updated ouroboros-cosnensus
and ekg-forward
packages.
CDDL specs for protocol codecs
We made the cddl
spec for network codec more inline with the implementation
which is highly polymorphic. cddl
doesn't have the notion of polymorphism,
but has any
which can generate any valid cbor term. We matched it with an
Any
type on the Haskell side and made all remaining tests & specs use it.
This simplified the specifications and made it easier to understand which parts
are defined in the spec, and which parts are left unspecified. See
ouroboros-network#4595.
Ouroboros-Network-Framework API changes
We also released ouroboros-network-framework
and other network components.
The ouroboros-network-framework
package contains a redesign of API exposed to
ouroboros-consensus
. We consolidated, cleaned it and made it easier to
extend in the future if there will be new arguments that need to be passed to
mini-protocol initiator and responders which comes from the low-level network
layer.
Nix setup (CI)
We also made a major review of our nix
setup. With help from our DevX team
we ended up with a clean flake.nix
file which can:
- compile & test the code on
x86_64-linux
,x86_64-darwin
andaarch64-darwin
- cross-compile to
Windows
onx86_64-linux
And provides a shell which contains all the build tools, including ghc-9.6
,
hls
, cddl
, and more. See ouroboros-network#4640,
ouroboros-network#4643.
Other contributions
Cardano Network Service Assurance
- The work and writeup in finishing up the CNSA, first stage (first contract).
- Getting Sam Cowger (Galois Inc) up to speed.
- The IOG Networking team carried a reivew of CNSA project progress: a limitted code & design review.
Galois Review
Sam Cowger and Mark Tullsen (Galois Inc) have made some progress on each of the tech debt issues
scoping, requirements, and getting started.
CI
We added a nightly run for GitHub actions and made the GitHub actions test be executed with extra concurrency ouroboros-network#4637, ouroboros-network#4649.
We also added GitHub's dependabot ouroboros-network#4650.
Bootstrap Peers
We settled on implementation design of bootstrap peers which is being implemented, ouroboros-network#4615.