Crates.io | fluence-fork-libp2p |
lib.rs | fluence-fork-libp2p |
version | 0.36.2 |
source | src |
created_at | 2020-12-31 10:05:12.548838 |
updated_at | 2021-06-09 15:00:15.797589 |
description | Peer-to-peer networking library |
homepage | |
repository | https://github.com/libp2p/rust-libp2p |
max_upload_size | |
id | 329651 |
size | 214,656 |
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 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 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 ProtocolsHandler
used
to implement application protocols (see protocols/
).
protocols/
: Implementations of application protocols based on the
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)