diff --git a/README.md b/README.md index 7b5d6ac..15e4d4f 100644 --- a/README.md +++ b/README.md @@ -13,37 +13,38 @@ The project aims to implement [libp2p](https://libp2p.io) to unlock building .NET peer-to-peer applications using a battle-tested specification of network communication of the new age. -As an application developer, you may consider reading [quick start](./docs/quick-start.md). +As an application developer, you may consider reading [quick start](./docs/README.md). As a stack implementer, you may be interested in [more advanced tutorials](./docs/development/README.md). -**Contributors are welcomed**, kindly check the issues tab, everything there if not assigned to a person can be taken into work. More details in [CONTRIBUTING.md](./CONTRIBUTING.md). + +**Contributions are welcome**, kindly check the [issues](https://github.com/NethermindEth/dotnet-libp2p/issues) tab, everything there if not assigned to a person can be taken into work. More details in [CONTRIBUTING.md](./CONTRIBUTING.md). ## Roadmap -From the beginning, the target is to provide a performant well-tested implementation that works on multiple platforms. With high throughput and low memory profile. The modules to be implemented firstly should cover basic P2P application needs. +From the beginning, the target is to provide a performant well-tested implementation that works on multiple platforms, with high throughput and low memory profile. +See the [milestones](https://github.com/NethermindEth/dotnet-libp2p/milestones). | Protocol | Version | Status | |--------------------|--------------------|-----------------| | **Transports** | TCP | tcp | ✅ | -| QUIC | quic | ⬜ help wanted | -| | quic-v1 | ⬜ help wanted | +| QUIC | quic | 🚧 | +| | quic-v1 | 🚧 | | **Protocols** | multistream-select | /multistream/1.0.0 | ✅ | | plaintext | /plaintext/2.0.0 | ✅ | | noise | /noise | ✅ | -| mplex? | /mplex/6.7.0 | ⬜ | | yamux | /yamux/1.0.0 | ✅ | | Identify | /ipfs/id/1.0.0 | ✅ | -| ping | /ipfs/ping/1.0.0 | 🚧 | +| ping | /ipfs/ping/1.0.0 | ✅ | | pubsub | /floodsub/1.0.0 | ✅ | -| | /meshsub/1.0.0 | 🚧 | +| | /meshsub/1.0.0 | ✅ | | | /meshsub/1.1.0 | 🚧 | | | /meshsub/1.2.0 | ⬜ | -| Circuit Relay | | ⬜ help wanted | +| Circuit Relay | /libp2p/circuit/relay/0.2.0/* | ⬜ help wanted | | **Discovery** | mDns | basic | ✅ | -| | DNS-SD | ⬜ | -| discv5 | 5.1 | ⬜ help wanted | +| | DNS-SD | 🚧 | +| [discv5](https://github.com/Pier-Two/Lantern.Discv5) | 5.1 | ⬜ help wanted | ⬜ - not yet implemented
🚧 - work in progress
diff --git a/docs/quick-start.md b/docs/README.md similarity index 100% rename from docs/quick-start.md rename to docs/README.md diff --git a/docs/development/README.md b/docs/development/README.md index 061f73b..6220200 100644 --- a/docs/development/README.md +++ b/docs/development/README.md @@ -4,5 +4,5 @@ Libp2p protocols can be divided into 2 layers: - Transport layer protocols, that actively use peer address to discover network and establish connection; - Application layer protocols, that is used to exchange actual payload once the connection is active. -To contribute to libp2p stack or build your own, kindly check [Developing a transport layer protocol](./transport-layer.md) and also [the list of best practices](./best-practices.md). +To contribute to libp2p stack or build your own, kindly check [developing a transport layer protocol](./transport-layer.md) and also [the list of best practices](./best-practices.md). diff --git a/src/libp2p/Libp2p.sln b/src/libp2p/Libp2p.sln index 454959b..b707d60 100644 --- a/src/libp2p/Libp2p.sln +++ b/src/libp2p/Libp2p.sln @@ -149,6 +149,8 @@ Global {E4103D59-03EB-488A-8392-0D2FBE3FBCC3}.Release|Any CPU.Build.0 = Release|Any CPU {FC0E9BCE-2848-45DC-AE20-FB7E862A199E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FC0E9BCE-2848-45DC-AE20-FB7E862A199E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FC0E9BCE-2848-45DC-AE20-FB7E862A199E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FC0E9BCE-2848-45DC-AE20-FB7E862A199E}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE