4个版本 (2个重大更新)
0.3.0 | 2024年8月9日 |
---|---|
0.2.1 | 2024年6月5日 |
0.2.0 | 2023年12月4日 |
0.1.0 | 2023年9月22日 |
在网络编程中的第2236位
每月下载量345次
在2个仓库中使用(通过libp2p-webrtc-websys)
430KB
8K SLoC
libp2p工作的中心仓库
此仓库是Rust开发libp2p的中心位置。
入门
-
主要文档可在https://docs.rs/libp2p找到。
-
示例文件夹包含展示该仓库中许多协议的小型二进制文件:examples。
-
有关安全问题,请提交私人安全漏洞报告。请不要在GitHub上提交公开问题。
-
要报告错误、建议改进或请求新功能,请在此仓库中打开GitHub问题。
-
有关rust-libp2p特定问题,请使用GitHub 讨论 论坛:https://github.com/libp2p/rust-libp2p/discussions。
-
有关与多个libp2p实现相关的讨论和问题,请使用libp2p Discourse 论坛:https://discuss.libp2p.io。
-
要参加同步讨论,请加入开放rust-libp2p维护者通话或每周两次的libp2p社区通话:biweekly libp2p community calls。
仓库结构
此仓库的主要组件结构如下
-
core/
:实现了libp2p-core
及其Transport
和StreamMuxer
API,这是几乎所有其他crates所依赖的。 -
transports/
:基于libp2p-core
的Transport
API实现的传输协议(例如TCP)和协议升级(例如,用于认证加密、压缩等)。 -
muxers/
:实现了StreamMuxer
接口,例如在 (通常为 TCP) 连接之上实现 (子)流复用协议。复用协议是(强制)的Transport
升级。 -
swarm/
:基于libp2p-core
实现的libp2p-swarm
,使用了中心接口NetworkBehaviour
和ConnectionHandler
来实现应用协议(见protocols/
)。 -
protocols/
:基于libp2p-swarm
API 的应用协议实现。 -
misc/
:实用库。 -
libp2p/examples/
:内置应用协议(见protocols/
)的工作示例,带有常见的Transport
配置。
社区指南
libp2p 项目遵循 IPFS 行为准则。
tl;dr
- 保持尊重。
- 我们在这里帮助: [email protected]
- 不容忍滥用行为。
- 违反此准则可能导致迅速且永久地从 IPFS [和 libp2p] 社区中除名。
- "太长,没读" 不是不知道此文档内容的合理借口。
维护者
(按字母顺序排列。)
- Guillaume Michel (@guillaumemichel)
- João Oliveira (@jxs)
知名用户
(如果您想将您的项目添加到此,请提交一个拉取请求)
- COMIT - 比特币–门罗币跨链原子交换。
- Forest - 使用 Rust 编写的 Filecoin 实现。
- fuel-core - Fuel 协议的 Rust 实现。
- HotShot - 由 Espresso Systems 开发的 Rust 拓扑排序器。
- ipfs-embed - 由 Actyx 使用和维护的小型可嵌入的 ipfs 实现。
- Homestar - Fission 使用和维护的星际虚拟机 (IPVM) 实现。
- beetle - 针对 Cloud & 移动平台的下一代 IPFS 实现。
- Lighthouse - 以 Rust 编写的 Ethereum 共识客户端。
- Locutus - 全球、可观察、去中心化的键值存储。
- OpenMina - 在浏览器中实现的 Mina Rust 实现。
- rust-ipfs - Rust 中的 IPFS 实现。
- Safe Network - Rust 中的 Safe Network 实现。
- Starcoin - 通过分层扩展的智能合约区块链网络。
- Subspace - Subspace 网络参考实现
- Substrate - 区块链创新框架,由 Polkadot 使用。
- Taple - 由 OpenCanarias 提供的可持续 DLT,用于资产和流程可追溯性。
- Ceylon - 多智能体系统 (MAS) 开发框架。
依赖项
~7–17MB
~263K SLoC