libp2p / rust-libp2p
- четверг, 21 декабря 2023 г. в 00:00:13
The Rust Implementation of the libp2p networking stack.
This repository is the central place for Rust development of the libp2p spec.
Main documentation can be found on https://docs.rs/libp2p.
The examples folder contains small binaries showcasing the many protocols in this repository.
For security related issues please file a private security vulnerability report . Please do not file a public issue on GitHub.
To report bugs, suggest improvements or request new features please open a GitHub issue on this repository.
For rust-libp2p specific questions please use the GitHub Discussions forum https://github.com/libp2p/rust-libp2p/discussions.
For discussions and questions related to multiple libp2p implementations please use the libp2p Discourse forum https://discuss.libp2p.io.
For synchronous discussions join the open rust-libp2p maintainer calls or the biweekly libp2p community calls.
The main components of this repository are structured as follows:
core/
: The implementation of libp2p-core
with its 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 ConnectionHandler
used
to implement application protocols (see protocols/
).
protocols/
: Implementations of application protocols based on the
libp2p-swarm
APIs.
misc/
: Utility libraries.
libp2p/examples/
: Worked examples of built-in application protocols (see protocols/
)
with common Transport
configurations.
The libp2p project operates under the IPFS Code of Conduct.
tl;dr
- Be respectful.
- We're here to help: abuse@ipfs.io
- Abusive behavior is never tolerated.
- Violations of this code may result in swift and permanent expulsion from the IPFS [and libp2p] community.
- "Too long, didn't read" is not a valid excuse for not knowing what is in this document.
(In alphabetical order.)
(open a pull request if you want your project to be added here)