Overview of sprint 77
Initiator only mode for local roots
We implemented the initiator-only mode for local roots peers described in
ouroboros-network#5020.  This feature will be available in
cardano-node-10.3 (cardano-node#6055).
One will be able to specify diffusionMode (either InitiatorOnly or
IntiatorAndRespoinder, the latter is the default) for all local roots in
a given local roots group, e.g.
{ "localRoots":
    [ { "accessPoints":
          [ { "address": "10.0.0.1"
            , "port": 3001
            }
          ]
      , "advertise": false
      , "diffusionMode": "InitiatorOnly"
      , "warmValency": 1
      , "hotValency": 1
      }
    , { "accessPoints":
          [ { "address": "10.0.0.2"
            , "port": 3001
            }
          ]
      , "advertise": true
      , "diffusionMode": "InititiatorAndResponder"
      , "warmValency": 1
      , "hotValency": 1
      }
    ]
, "publicRoots": []
, "useLedgerAfterSlot": -1
}
As part of ouroboros-network#5020 we had to change how connections are
identified in the simulated testnet environment.  We exposed
ConnStateIdSupply through P2P interfaces, which allows us to use a global
ConnStateIdSupply for all nodes in the simulation. This way, ConnStateId is
unique for each connection in the simulation. See ouroboros-network#5026.
Support systems with multiple IP addresses
We merged ouroboros-network#5017 which allows to run cardano-node on
systems with multiple network interfaces or a single interface with multiple IP
addresses.
Reusable diffusion
We were working on early integration of reusable diffusion work stream with
ouroboros-consensus & cardano-node.   Reusable diffusion will allow us to
support both cardano-node and mithril-node in the future. We are
pleased to say that we are running a cardano-node that uses
refactored diffusion. See:
Tx-Submission Logic
We had a discussion with the consensus team (Karl Knutsson CF, Nick Frisby
Tweag) on network requirements for tx-mempool. See:
- issue: ouroboros-network#3311
- pr: ouroboros-network#4887
- ouroboros-network#4984 (Karl's changes on top of ouroboros-network#4887)
SRV record support
We continued working on the SRV support, see:
- issue: ouroboros-network#2883
- pr: ouroboros-network#5018
Technical Debt
We renamed some of the test modules to be more consistent across various network components, see ouroboros-network#5028.
