Skip to content
  • Aaro Altonen's avatar
    Integrate litep2p into Polkadot SDK (#2944) · 80616f6d
    Aaro Altonen authored
    [litep2p](https://github.com/altonen/litep2p) is a libp2p-compatible P2P
    networking library. It supports all of the features of `rust-libp2p`
    that are currently being utilized by Polkadot SDK.
    
    Compared to `rust-libp2p`, `litep2p` has a quite different architecture
    which is why the new `litep2p` network backend is only able to use a
    little of the existing code in `sc-network`. The design has been mainly
    influenced by how we'd wish to structure our networking-related code in
    Polkadot SDK: independent higher-levels protocols directly communicating
    with the network over links that support bidirectional backpressure. A
    good example would be `NotificationHandle`/`RequestResponseHandle`
    abstractions which allow, e.g., `SyncingEngine` to directly communicate
    with peers to announce/request blocks.
    
    I've tried running `polkadot --network-backend litep2p` with a few
    different peer configurations and there is a noticeable reduction in
    networking CPU usage. For high load (`...
    80616f6d