Skip to main content

66 posts tagged with "network"

View All Tags

Network Team Update

· 2 min read
Marcin Szamotulski
Network Team Lead

Overview of [sprint 73][sprint-73]​

Ouroboros-Network-0.18 release​

We released ouroboros-network-0.18. The main features are:

  • integration with typed-protocols-0.3
  • cardano-client library doesn't depend on the non-p2p stack
  • We expose connectToWithMux family of functions in ouroboros-network which give access to the underlying [Mux handle][mux-handle].
  • Added NodeToClientV_19: to support the new GetLedgerPeerSnapshot query in local-state-query mini-protocol [ouroboros-consensus#1067].

See full [the list of PRs][ouroboros-network-0.18] included in this release. ouroboros-network-0.18 was integrated with ouroboros-consensus ([ouroboros-consensus#1223])

Tx-Submission​

We continued working on tx-submission and monitoring its performance.

Ouroboros-Network - Mithril Design​

We internally discussed how to support the [Mithril design][cip#137]. In In the near future, we will be able to socialise the report we've been working on.

Code Refactoring​

We reorganised some of our substysems to use qualified imports with simplified names:

  • [ouroboros-network#4990] (connection-manager, inbound-governor)
  • [ouroboros-network#4997] (network-mux)

We also removed deprecated APIs in [ouroboros-network#4998]sim#182]

Network Team Update

· 2 min read
Marcin Szamotulski
Network Team Lead

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​

Network Team Update

· 2 min read
Marcin Szamotulski
Network Team Lead

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

Network Team Update

· One min read
Marcin Szamotulski
Network Team Lead

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:

Network Team Update

· 3 min read
Marcin Szamotulski
Network Team Lead

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 peers Peer 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.