Crate libp2p

source ·
Expand description

libp2p is a modular peer-to-peer networking framework.

To learn more about the general libp2p multi-language framework visit libp2p.io.

To get started with this libp2p implementation in Rust, please take a look at the tutorials. Further examples can be found in the examples directory.

Re-exports

pub use bytes;
pub use futures;
pub use self::simple::SimpleProtocol;

Modules

Transports, upgrades, multiplexing and node handling of libp2p.
Implementation of the Identify protocol.
A node’s network identity keys.
Implementation of the libp2p-specific Kademlia protocol.
Implementation of the libp2p-specific mDNS protocol.
Implementation of the Stream Multiplexer Mplex protocol.
Multihash implementation.
Noise protocol framework support for libp2p.
This module implements the /ipfs/ping/1.0.0 protocol.
Generic request/response protocols.
High-level network manager.
Implementation of the libp2p libp2p_core::Transport trait for TCP/IP.
Rust-libp2p Tutorials to get started with.
Implementation of the libp2p Transport trait for external transports.
Implementation of the libp2p Transport trait for Websockets.
Implementation of the Yamux multiplexing protocol for libp2p.

Macros

Easy way for a user to create a Multiaddr.

Structs

Representation of a Multiaddr.
Identifier of a peer of the network.
Contains the state of the network, plus the way it should behave.

Enums

An error during dialing or listening on a Transport.

Traits

Possible upgrade on an inbound connection or substream.
Extension trait for InboundUpgrade. Automatically implemented on all types that implement InboundUpgrade.
Possible upgrade on an outbound connection or substream.
Extention trait for OutboundUpgrade. Automatically implemented on all types that implement OutboundUpgrade.
A transport provides connection-oriented communication between two peers through ordered streams of data (i.e. connections).
Trait automatically implemented on all objects that implement Transport. Provides some additional utilities.

Functions

Builds a Transport based on TCP/IP that supports the most commonly-used features of libp2p: