Crates.io | mwc-libp2p |
lib.rs | mwc-libp2p |
version | 0.35.3 |
source | src |
created_at | 2024-11-03 15:47:49.036572 |
updated_at | 2024-11-06 14:29:16.86257 |
description | Peer-to-peer networking library |
homepage | |
repository | https://github.com/mwcproject/rust-libp2p |
max_upload_size | |
id | 1433884 |
size | 220,776 |
This repository is the central place for Rust development of the libp2p spec.
Warning: While we are trying our best to be compatible with other libp2p implementations, we cannot guarantee that this is the case considering the lack of a precise libp2p specifications.
How to use the library?
Where to ask questions?
In the Rust section of https://discuss.libp2p.io.
In the #libp2p IRC channel on freenode.
By opening an issue in this repository.
The main components of this repository are structured as follows:
core/
: The implementation of mwc-libp2p-core
with its Network
,
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 mwc-libp2p-core
Transport
API .
muxers/
: Implementations of the StreamMuxer
interface of mwc-libp2p-core
,
e.g. (sub)stream multiplexing protocols on top of (typically TCP) connections.
Multiplexing protocols are (mandatory) Transport
upgrades.
swarm/
: The implementation of mwc-libp2p-swarm
building on mwc-libp2p-core
with the central interfaces NetworkBehaviour
and ProtocolsHandler
used
to implement application protocols (see protocols/
).
protocols/
: Implementations of application protocols based on the
mwc-libp2p-swarm
APIs.
misc/
: Utility libraries.
examples/
: Worked examples of built-in application protocols (see protocols/
)
with common Transport
configurations.
(open a pull request if you want your project to be added here)