Skip to main content

40 posts tagged with "network"

View All Tags

· One min read
Marcin Szamotulski

Overview of sprint 72

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.

· 2 min read
Marcin Szamotulski

High-level overview of sprint 66

We held The Network Working Group (NWG) in the last sprint. Below, we share recordings of this and earlier NWG meetings, which introduce basic notions of ouroboros-network. These recordings should be accessible to a technical audience.

Introduction to Ouroboros Network, NWG, part 1

Introduction to Ouroboros Network, NWG, part 2

Tx-Submission

We continued working on the new design of tx-submission. We progressed in writing a new tx-submission server (inbound side of tx-submission protocol) instrumented by decision logic. The next step is writing a simulation that runs N-pairs of client-server communications in which the same decision logic governs all servers - emulating the behaviour of cardano-node once the new tx-submission is integrated. For more details, see ouroboros-network#3311

Genesis integration

All outstanding PRs related to Genesis have been reviewed and accepted. Soon they will be merged.

Mithril Integration

We presented ideas on how to run mithril functionalities with cardano-node while taking into account the risks that such integration would impose on the system. The technical description will be part of a CIP, which will then go to the Technical Steering Committee (TSC) for an evaluation.

Smaller tasks

Open-Source contributions

We found out and fixed a bug in the iproute parser of IPv4 addresses:

  • Check that IPv4 addresses terminate, iproute#63
  • IPv4 address with mask should not contain a white space, iproute#64