This repository is the central place for Rust development of the libp2p spec.
- 
Main documentation can be found on https://docs.rs/libp2p.
 - 
The examples folder contains small binaries showcasing the many protocols in this repository.
 - 
For security related issues please file a private security vulnerability report . Please do not file a public issue on GitHub.
 - 
To report bugs, suggest improvements or request new features please open a GitHub issue on this repository.
 - 
For rust-libp2p specific questions please use the GitHub Discussions forum https://github.com/libp2p/rust-libp2p/discussions.
 - 
For discussions and questions related to multiple libp2p implementations please use the libp2p Discourse forum https://discuss.libp2p.io.
 - 
For synchronous discussions join the open rust-libp2p maintainer calls or the biweekly libp2p community calls.
 
The main components of this repository are structured as follows:
- 
core/: The implementation oflibp2p-corewith itsTransportandStreamMuxerAPI on which almost all other crates depend. - 
transports/: Implementations of transport protocols (e.g. TCP) and protocol upgrades (e.g. for authenticated encryption, compression, ...) based on thelibp2p-coreTransportAPI. - 
muxers/: Implementations of theStreamMuxerinterface oflibp2p-core, e.g. (sub)stream multiplexing protocols on top of (typically TCP) connections. Multiplexing protocols are (mandatory)Transportupgrades. - 
swarm/: The implementation oflibp2p-swarmbuilding onlibp2p-corewith the central interfacesNetworkBehaviourandConnectionHandlerused to implement application protocols (seeprotocols/). - 
protocols/: Implementations of application protocols based on thelibp2p-swarmAPIs. - 
misc/: Utility libraries. - 
libp2p/examples/: Worked examples of built-in application protocols (seeprotocols/) with commonTransportconfigurations. 
The libp2p project operates under the IPFS Code of Conduct.
tl;dr
- Be respectful.
 - We're here to help: [email protected]
 - Abusive behavior is never tolerated.
 - Violations of this code may result in swift and permanent expulsion from the IPFS [and libp2p] community.
 - "Too long, didn't read" is not a valid excuse for not knowing what is in this document.
 
(In alphabetical order.)
- João Oliveira (@jxs)
 
(open a pull request if you want your project to be added here)
- COMIT - Bitcoin–Monero Cross-chain Atomic Swap.
 - Forest - An implementation of Filecoin written in Rust.
 - fuel-core - A Rust implementation of the Fuel protocol.
 - HotShot - Decentralized sequencer in Rust developed by Espresso Systems.
 - ipfs-embed - A small embeddable ipfs implementation used and maintained by Actyx.
 - Homestar - An InterPlanetary Virtual Machine (IPVM) implementation used and maintained by Fission.
 - beetle - Next-generation implementation of IPFS for Cloud & Mobile platforms.
 - Lighthouse - Ethereum consensus client in Rust.
 - Locutus - Global, observable, decentralized key-value store.
 - OpenMina - In-browser Mina Rust implementation.
 - qaul قول - Internet Independent Wireless Mesh Communication App
 - rust-ipfs - IPFS implementation in Rust.
 - Safe Network - Safe Network implementation in Rust.
 - SQD Network - A decentralized storage for Web3 data.
 - Starcoin - A smart contract blockchain network that scales by layering.
 - Subspace - Subspace Network reference implementation
 - Substrate - Framework for blockchain innovation, used by Polkadot.
 - Swarm NL - A library that makes it easy to configure the networking requirements for any distributed application.
 - Taple - Sustainable DLT for asset and process traceability by OpenCanarias.
 - Ceylon - A Multi-Agent System (MAS) Development Framework.
 - Fungi - A platform built for seamless multi-device integration.