Skip to main content

41 posts tagged with "network"

View All Tags

· 2 min read
Marcin Szamotulski

Overview of sprint 72

cardano-node release: 10.0

We have been working on the cardano-node-10.0 release.

Tx-Submission

We have been running an experimental build of cardano-node with new tx-sumbission logic ouroboros-network#3311. Some performance bottlenecks have been found by Karl Knutsson (CF), but not deadlocks or race conditions.

Preparations for removal of Non-P2P network code

In order to prepare for removal of the network stack we addressed two issues:

On the way we also addressed a few technical debt items:

Documentation

We updated the documentation of the peer-sharing mini-protocol: ouroboros-network#4981, ouroboros-network#4983.

We updated the SECURITY.md file according to the IntersectMBO's Open-Source Committee guidance, ouroboros-network#4986.

io-sim

· One min read
Marcin Szamotulski

Overview of sprint 71

Security Policy

According to IntersectMBOs Open-Source Committee guidance, we updated our security policy.

Tx-Submission

We have been working on the integration of the new tx-submission inbound side with cardano-node.

New Typed-Protocols API

We published typed-protocols-0.3.0.0 to CHaP. It includes changes to the typed-protocols-stateful API. The added changes allow us to simplify LocalStateQuery mini-protocol, particularly the MsgResult doesn't include the request type (e.g. query result). It is provided to the codec using the associated local state mechanism instead. See typed-protocols#61, chap#911.

The integration of typed-protocols-0.3.0.0 with ouroboros-network was merged to the master branch, see ouroboros-network#4935.

The integration of this work stream with cardano-node is tracked on ouroboros-network#4936.

cardano-node-9.3

We started working on cardano-node-9.3 release.

CI

· 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

· One min read
Marcin Szamotulski

High-level overview of sprint 69

Ouroboros-Network-0.17.1.x

We released ouroboros-network-0.17.1.{0,1} which is being integrated with cardano-node-9.2, see releases.

Tx-Submission

We continued working on tests of the new tx-submission application, ouroboros-network#3311, ouroboros-network#4928.

Typed Protocols

The new typed-protocols API is under review, typed-protocols#52

IOSim

We released a new version of io-classes & io-sim to Hackage:

· 2 min read
Marcin Szamotulski

High-level overview of sprint 68

Peer Sharing

Karl Knutsson (CF) produces graphs which show how peer sharing usage expands on mainnet.

Peer Sharing: discovered unique peersPeer Sharing: discovered unique peers

Private relays in the last graph are relays which we are not certain that are registered on the chain.

Typed Protocols

We conducted an investigation whether the new proposed typed-protocols version (see typed-protocols#52 introduces any performance regression. No regression was found when running a cardano-node (v9.1.0 vs a modified version using the new typed-protocols API) the benchmarking cluster. Also no regression was observed when syncing mainnet. The graph below shows accumulated size of block downloaded over time for both nodes:

Accumulated block size over time

The following draft PRs are openned:

cardano-cli ping

Fixed a bug in which cardano-cli ping exited with wrong exit code when a wrong network magic was supplied, see ouroboros-network#4865.

cardano-cli ping will also now report the remote IP address and port when querying the tip:

> cardano-cli ping -h backbone.mainnet.cardanofoundation.org -p3001 -t -j -q | jq
{
"tip": [
{
"addr": "2a01:2a8:a23d:16::17",
"blockNo": 10699400,
"hash": "f37649c4a6ae0c8b208da7c46d4e04312518969e612af0a8dbfdadcbd7180dd2",
"port": 3001,
"rtt": 0.013192945,
"slotNo": 131991843
},
{
"addr": "2a0e:dc0:3:b122::1",
"blockNo": 10699400,
"hash": "f37649c4a6ae0c8b208da7c46d4e04312518969e612af0a8dbfdadcbd7180dd2",
"port": 3001,
"rtt": 0.024089979,
"slotNo": 131991843
},
{
"addr": "2001:15e8:110:4aae::1",
"blockNo": 10699400,
"hash": "f37649c4a6ae0c8b208da7c46d4e04312518969e612af0a8dbfdadcbd7180dd2",
"port": 3001,
"rtt": 0.034663209,
"slotNo": 131991843
}
]
}

See ouroboros-network#4931.

Tx-Submission

We continued writing tests for the new tx-submission application.

We started extending typed-protocols codec to have access to both raw bytes and decoded transactions in the tx-submission mini-protocol. See ouroboros-network#4934.