- Notifications
You must be signed in to change notification settings - Fork1k
The Rust Implementation of the libp2p networking stack.
License
libp2p/rust-libp2p
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This repository is the central place for Rust development of thelibp2p spec.
Main documentation can be found onhttps://docs.rs/libp2p.
Theexamples folder contains small binaries showcasing themany protocols in this repository.
Forsecurity related issues pleasefile a private security vulnerabilityreport . Please do not file apublic issue on GitHub.
Toreport bugs, suggest improvements or request new features please open aGitHub issue on this repository.
Forrust-libp2p specific questions please use the GitHubDiscussionsforumhttps://github.com/libp2p/rust-libp2p/discussions.
Fordiscussions and questions related to multiple libp2p implementationsplease use the libp2pDiscourse forumhttps://discuss.libp2p.io.
For synchronous discussions join theopen rust-libp2p maintainercallsor thebiweekly libp2p community calls.
The main components of this repository are structured as follows:
core/
: The implementation oflibp2p-core
with itsTransport
andStreamMuxer
API 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-core
Transport
API.muxers/
: Implementations of theStreamMuxer
interface oflibp2p-core
,e.g. (sub)stream multiplexing protocols on top of (typically TCP) connections.Multiplexing protocols are (mandatory)Transport
upgrades.swarm/
: The implementation oflibp2p-swarm
building onlibp2p-core
with the central interfacesNetworkBehaviour
andConnectionHandler
usedto implement application protocols (seeprotocols/
).protocols/
: Implementations of application protocols based on thelibp2p-swarm
APIs.misc/
: Utility libraries.libp2p/examples/
: Worked examples of built-in application protocols (seeprotocols/
)with commonTransport
configurations.
The libp2p project operates under theIPFS Code ofConduct.
tl;dr
- Be respectful.
- We're here to help:abuse@ipfs.io
- Abusive behavior is never tolerated.
- Violations of this code may result in swift and permanent expulsion from theIPFS [and libp2p] community.
- "Too long, didn't read" is not a valid excuse for not knowing what is inthis 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 byEspresso Systems.
- ipfs-embed - A small embeddable ipfs implementation used and maintained byActyx.
- 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.
- 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 byPolkadot.
- 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 byOpenCanarias.
- Ceylon - A Multi-Agent System (MAS) Development Framework.
About
The Rust Implementation of the libp2p networking stack.