libp2p 0.44.0

Peer-to-peer networking library
Documentation
# 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**.