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;quicand non-WebAssemblypub use libp2p_identity as identity;
Modules§
- allow_
block_ list - A libp2p module for managing allow and blocks lists to peers.
- autonat
autonat - 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.0protocol. - 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::Transporttrait 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
Transporttrait for Unix domain sockets. - upnp
upnpand non-WebAssembly - Implementation of UPnP port mapping for libp2p.
- websocket
websocketand non-WebAssembly - Implementation of the libp2p
Transporttrait for Websockets. - 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
Swarmby combining an identity, a set ofTransports 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).