Expand description
libp2p is a modular peer-to-peer networking framework.
To learn more about the general libp2p multi-language framework visit https://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 libp2p_quic as quic;
quic
and non-WebAssemblypub use libp2p_identity as identity;
Modules§
- allow_
block_ list - A libp2p module for managing allow and blocks lists to peers.
- autonat
autonat
- bandwidth
- connection_
limits - core
- Transports, upgrades, multiplexing and node handling of libp2p.
- dcutr
dcutr
- Implementation of the libp2p Direct Connection Upgrade through Relay specification.
- dns
dns
- DNS name resolution
- floodsub
floodsub
- Implementation of the floodsub protocol.
- gossipsub
gossipsub
- Implementation of the Gossipsub protocol.
- identify
identify
- Implementation of the Identify protocol.
- kad
kad
- Implementation of the libp2p-specific Kademlia protocol.
- mdns
mdns
- Implementation of the libp2p-specific mDNS protocol.
- memory_
connection_ limits memory-connection-limits
- metrics
metrics
- Auxiliary crate recording protocol and Swarm events and exposing them as metrics in the OpenMetrics format.
- multiaddr
- Implementation of multiaddr in Rust.
- multihash
- Bare-minimum multihash data structure.
- noise
noise
- Noise protocol framework support for libp2p.
- ping
ping
- This module implements the
/ipfs/ping/1.0.0
protocol. - plaintext
plaintext
- Implementation of the plaintext protocol.
- pnet
pnet
- Implementation of the pnet protocol. Libp2p nodes configured with a pre-shared key can only communicate with other nodes with the same key.
- relay
relay
- Implementation of libp2p circuit relay protocol.
- rendezvous
rendezvous
- Implementation of the Rendezvous protocol.
- request_
response request-response
- Generic request/response protocols.
- swarm
- High-level network manager.
- tcp
tcp
- Implementation of the libp2p
libp2p_core::Transport
trait for TCP/IP. - tls
tls
- TLS configuration based on libp2p TLS specs.
- tutorials
- Rust-libp2p Tutorials to get started with.
- uds
uds
- Implementation of the libp2p
Transport
trait for Unix domain sockets. - upnp
upnp
and non-WebAssembly - Implementation of UPnP port mapping for libp2p.
- webrtc_
websys webrtc-websys
- Rust
libp2p-webrtc-websys
- websocket
websocket
and non-WebAssembly - Implementation of the libp2p
Transport
trait for Websockets. - websocket_
websys websocket-websys
- Libp2p websocket transports built on web-sys.
- webtransport_
websys webtransport-websys
- Libp2p WebTransport built on web-sys
- yamux
yamux
- Implementation of the Yamux multiplexing protocol for libp2p.
Macros§
- build_
multiaddr - Easy way for a user to create a
Multiaddr
.
Structs§
- Behaviour
Builder Error - Multiaddr
- Representation of a Multiaddr.
- PeerId
- Identifier of a peer of the network.
- Stream
- Stream
Protocol - Identifies a protocol for a stream.
- Swarm
- Contains the state of the network, plus the way it should behave.
- Swarm
Builder - Build a
Swarm
by combining an identity, a set ofTransport
s and aNetworkBehaviour
. - Transport
Builder Error - Websocket
Builder Error Non-WebAssembly and websocket
Enums§
- Transport
Error - An error during dialing or listening
on a
Transport
.
Traits§
- Inbound
Upgrade - Possible upgrade on an inbound connection or substream.
- Outbound
Upgrade - Possible upgrade on an outbound connection or substream.
- Transport
- A transport provides connection-oriented communication between two peers through ordered streams of data (i.e. connections).
- Transport
Ext - Trait automatically implemented on all objects that implement
Transport
. Provides some additional utilities.