Skip to content
vic

libp2p/rust-libp2p

The Rust Implementation of the libp2p networking stack.

libp2p/rust-libp2p.json
{
"createdAt": "2017-03-24T20:05:11Z",
"defaultBranch": "master",
"description": "The Rust Implementation of the libp2p networking stack. ",
"fullName": "libp2p/rust-libp2p",
"homepage": "https://libp2p.io",
"language": "Rust",
"name": "rust-libp2p",
"pushedAt": "2025-11-21T08:01:16Z",
"stargazersCount": 5278,
"topics": [
"decentralization",
"libp2p",
"networking",
"peer-to-peer",
"rust"
],
"updatedAt": "2025-11-26T19:32:59Z",
"url": "https://github.com/libp2p/rust-libp2p"
}

dependency status Crates.io docs.rs docs.rs master

This repository is the central place for Rust development of the libp2p spec.

The main components of this repository are structured as follows:

  • core/: The implementation of libp2p-core with its Transport and StreamMuxer 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 the libp2p-core Transport API.

  • muxers/: Implementations of the StreamMuxer interface of libp2p-core, e.g. (sub)stream multiplexing protocols on top of (typically TCP) connections. Multiplexing protocols are (mandatory) Transport upgrades.

  • swarm/: The implementation of libp2p-swarm building on libp2p-core with the central interfaces NetworkBehaviour and ConnectionHandler used to implement application protocols (see protocols/).

  • protocols/: Implementations of application protocols based on the libp2p-swarm APIs.

  • misc/: Utility libraries.

  • libp2p/examples/: Worked examples of built-in application protocols (see protocols/) with common Transport configurations.

The libp2p project operates under the IPFS Code of Conduct.

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 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.