examples/README: Give an overview over the many examples (#2194)

This commit is contained in:
Max Inden
2021-08-16 21:43:40 +02:00
committed by GitHub
parent d3f5a1e79a
commit a5b6a0b694

51
examples/README.md Normal file
View File

@@ -0,0 +1,51 @@
# Examples
A set of examples showcasing how to use rust-libp2p.
## Getting started
- [Ping](ping.rs)
Small `ping` clone, sending a ping to a peer, expecting a pong as a response. See
[tutorial](../src/tutorial.rs) for a step-by-step guide building the example.
## Individual libp2p protocols
- [Chat](./chat.rs)
A basic chat application demonstrating libp2p and the mDNS and floodsub protocols.
- [Gossipsub chat](./gossipsub-chat.rs)
Same as the chat example but using the Gossipsub protocol.
- [Tokio based chat](./chat-tokio.rs)
Same as the chat example but using tokio for all asynchronous tasks and I/O.
- [Distributed key-value store](./distributed-key-value-store.rs)
A basic key value store demonstrating libp2p and the mDNS and Kademlia protocol.
- [IPFS Kademlia](ipfs-kad.rs)
Demonstrates how to perform Kademlia queries on the IPFS network.
- [IPFS Private](ipfs-private.rs)
Implementation using the gossipsub, ping and identify protocols to implement the ipfs private
swarms feature.
- [Passive Discovery via MDNS](mdns-passive-discovery.rs)
Discover peers on the same network via the MDNS protocol.
## Integration into a larger application
- [File sharing application](./file-sharing.rs)
Basic file sharing application with peers either providing or locating and getting files by name.
While obviously showcasing how to build a basic file sharing application with the Kademlia and
Request-Response protocol, the actual goal of this example is **to show how to integrate
rust-libp2p into a larger application**.