Skip to main content

44 posts tagged with "network"

View All Tags

· 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

· 2 min read
Marcin Szamotulski

High-level overview of sprint 65

Karl Knutsson (CF) fixed a bug which prevented a node using bootstrap peers to sync using them, for a more detailed description see ouroboros-network#4899.

Earlier this year we fixed bugs in IOSimPOR which prevent us from using it in ouroboros-network (io-sim#153, io-sim#159); since ouroboros-network#4872 was merged we have a large number of tests that are using IOSimPOR's schedule exploration. In the last sprint we fixed some bugs discovered by IOSimPOR in ouroboros-network:

We continued working on new tx-submission logic: ouroboros-network#3311 as well as on Genesis. The work on Genesis is split in a few PRs which are currently in review process:

High-level overview of sprint 64

Karl Knutsson (CF) modified peer sharing behaviour to not share peers whith which connections failed, see ouroboros-network#4883 for more details.

We fixed inbound governor counters tracer, see ouroboros-network#4885.