Network Update
Key contributions
We held a series of session to review the implementation of big ledger peers (eclipse evasion). See #4462.
We get a request from a 3rd party to clarify an inconsistency between CDDL spec
and protocol implementation. We worked out a nice solution which takes
advantage of the any
notion available in CDDL
. On the Haskell side we
provide Any
type which gen generate almost any CBOR term (some are excluded
only because they are not decoded back to the same form, and we relay on that
property). See #4580.
We fixed a bunch of problems of the cardano-cli ping
command. It also now has
a limited support of node-to-client
mini-protocol (the -c
option is
ignored, as it cannot be supported by node-to-client
protocol). Note that
the format of messages has changed, timestamps are printed in ISO8601 format.
See #4601, #5326, #5313, #30
In order to provide a new flag in the topology file which enables ledger peers when the chain is close to the tip, we continued to work on #4530. This is currently in review, the consensus team will need to provide us with the new api. This feature is useful for two reasons: makes it easier to maintain a topology file, it will also limit the traffic on public roots generated by for example full node wallets and distribute it to ledger peers.
We also continued to work on a blog post which describes the journey of design & implementation of the dynamic P2P network layer. Too be announced soon :).
Other smaller changes
We limit the concurrency of resolving dns names. Up to 8 root peers or ledger peers DNS names are resolved concurrently, and at most 2 local root peer DNS names. See #4596.
We fixed handshake query timeout in #4603.
We renamed one of the block-fetch decision constructors as requested by the consensus team, see #4608.