Skip to content

Commit

Permalink
Network update (sprint 42)
Browse files Browse the repository at this point in the history
  • Loading branch information
coot committed Aug 18, 2023
1 parent 49cdce7 commit 8859da1
Showing 1 changed file with 100 additions and 0 deletions.
100 changes: 100 additions & 0 deletions blog/2023-08-18-network.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
---
title: Network Team Update
slug: 2023-08-18-network
authors: coot
tags: [network]
hide_table_of_contents: false
---

## High-level overview of [sprint 42][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][ouroboros-network#3886].
This is the primary mechanism to defend against eclipses. We also prepared
a PR to updated [`ouroboros-cosnensus`][ouroboros-consensus#165] and
[`ekg-forward`][ekg-forward#30] packages.

### CDDL specs for protocol codecs

We made our `cddl` spec for network codec more inlined 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-cosnensus`. 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` and `aarch64-darwin`
* cross-compile to `Windows` on `x86_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 busywork and writeup in finishing up the CNSA, first stage (first
contract).
- Getting Sam Cowger (Galois Inc) up to speed.

### Galois Review

Sam Cowger and Mark Tullsen (Galois Inc) have made some progress on each of the tech debt issues

* [ouroboros-network#3832],
* [ouroboros-network#3834],
* [ouroboros-network#3835],
* [ouroboros-network#3836];

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].


[sprint-42]: https://github.com/orgs/input-output-hk/projects/19/views/16?filterQuery=sprint%3A%22sprint+42%22

[ekg-forward#30]: https://github.com/input-output-hk/ekg-forward/pull/30

[ouroboros-consensus#165]: https://github.com/input-output-hk/ouroboros-consensus/pull/165

[ouroboros-network#3832]: https://github.com/input-output-hk/ouroboros-network/issues/3832
[ouroboros-network#3834]: https://github.com/input-output-hk/ouroboros-network/issues/3834
[ouroboros-network#3835]: https://github.com/input-output-hk/ouroboros-network/issues/3835
[ouroboros-network#3836]: https://github.com/input-output-hk/ouroboros-network/issues/3836
[ouroboros-network#3886]: https://github.com/input-output-hk/ouroboros-network/issues/3886
[ouroboros-network#4595]: https://github.com/input-output-hk/ouroboros-network/issues/4595
[ouroboros-network#4615]: https://github.com/input-output-hk/ouroboros-network/issues/4615
[ouroboros-network#4637]: https://github.com/input-output-hk/ouroboros-network/pull/4637
[ouroboros-network#4640]: https://github.com/input-output-hk/ouroboros-network/pull/4640
[ouroboros-network#4643]: https://github.com/input-output-hk/ouroboros-network/pull/4643
[ouroboros-network#4649]: https://github.com/input-output-hk/ouroboros-network/pull/4649
[ouroboros-network#4650]: https://github.com/input-output-hk/ouroboros-network/pull/4650

0 comments on commit 8859da1

Please sign in to comment.