# dotnet-libp2p The library implements libp2p stack, including: - TCP/noise/yamux and QUIC - gossipsub 1.2 - mDNS, simple pubsub-peer-discovery The repository: https://github.com/NethermindEth/dotnet-libp2p/ ### Work in progress - adding KAD by @leny62 - adding to the test-plans repo by @flcl42 - preparing TLS for the usage in production - endless refactoring to make it lean and agile - generic RequestResponse protocol, which is widely used and implemented https://github.com/NethermindEth/dotnet-libp2p/issues/123 by @namay26; ### Help needed with - adding to the test-plans repoin part of perf and gossipsub testing, https://github.com/NethermindEth/dotnet-libp2p/issues/17; - peer scoring ; - [dns resolution and dnsaddr support](https://github.com/libp2p/specs/blob/master/addressing/README.md#ip-and-name-resolution) ; #### In long perspective - new protocols: circuit relay, rendezvous, ipfs ones, webtransport, webrtc; - new gossipsub standards ; - hole punching. ## Usage The library is already used in the following projects: - Shutter, shielded transactions project for Gnosis chain, libp2p is needed in part of transaction pool implementation: - Shutter FAQ: https://docs.shutter.network/docs/shutter - Implementation: https://github.com/NethermindEth/nethermind/blob/master/src/Nethermind/Nethermind.Shutter/ShutterP2P.cs#L48 - OP consensus client, lightweight Optimism client written as a plugin for Nethermind EL: - OP rollup node: https://docs.optimism.io/operators/node-operators/architecture#rollup-node - Configure: https://github.com/NethermindEth/nethermind/blob/master/src/Nethermind/Nethermind.Optimism/CL/P2P/OptimismCLP2P.cs#L75; - Run: https://github.com/NethermindEth/nethermind/blob/master/src/Nethermind/Nethermind.Optimism/CL/P2P/OptimismCLP2P.cs#L313 Examples from the repository: - simple p2p chat https://github.com/NethermindEth/dotnet-libp2p/tree/main/src/samples/chat - pubsub chat with mDNS discovery https://github.com/NethermindEth/dotnet-libp2p/tree/main/src/samples/pubsub-chat Supported protocols: https://github.com/NethermindEth/dotnet-libp2p/?tab=readme-ov-file#roadmap Documentation: https://github.com/NethermindEth/dotnet-libp2p/tree/update-docs/docs ## Help Feel free to ask any questions in: - [Telegram](https://t.me/dotnet_libp2p) - [Discord](https://discord.com/channels/1204447718093750272/1341468555568353330) Don't hestitate to open issues or pick existing ones into work!