4 个版本 (2 个破坏性版本)
0.3.1 | 2023 年 12 月 4 日 |
---|---|
0.3.0 | 2023 年 11 月 20 日 |
0.2.0 | 2023 年 6 月 20 日 |
0.1.0 | 2023 年 3 月 12 日 |
#181 在 异步
每月 254,707 次下载
用于 195 个 crates (14 个直接使用)
12KB
237 代码行
libp2p 工作的主要仓库
该仓库是 Rust 开发 libp2p 规范的中心地点。
入门指南
-
主要文档 可以在 https://docs.rs/libp2p 找到。
-
示例 文件夹包含展示该仓库中许多协议的小二进制文件。
-
对于 安全相关的问题 请 提交一个私密的漏洞报告 。请不要在 GitHub 上提交公开问题。
-
要 报告错误、建议改进或请求新功能 请在该仓库上打开一个 GitHub 问题。
-
对于 rust-libp2p 特定问题 请使用 GitHub 讨论 界面 https://github.com/libp2p/rust-libp2p/discussions。
-
对于 与多个 libp2p 实现相关的讨论和问题 请使用 libp2p Discourse 界面 https://discuss.libp2p.io。
-
对于同步讨论,请加入 公开 rust-libp2p 维护者通话 或 每周两次的 libp2p 社区通话。
仓库结构
该仓库的主要组件如下组织:
-
core/
:实现libp2p-core
,其Transport
和StreamMuxer
API 几乎所有其他 crates 都依赖。 -
transports/
:基于libp2p-core
的Transport
API 实现传输协议(例如 TCP)和协议升级(例如用于认证加密、压缩等)。 -
muxers/
:实现libp2p-core
的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)
知名用户
(如果您想在此处添加您的项目,请发起一个 pull request)
- COMIT - 比特币–门罗币跨链原子交换。
- Forest - Filecoin 的 Rust 实现。
- fuel-core - Fuel 协议的 Rust 实现。
- HotShot - 由 Espresso Systems 开发的 Rust 中的去中心化 sequencer。
- ipfs-embed - 由 Actyx 使用和维护的小型可嵌入的 ipfs 实现。
- Homestar - Fission 维护的 InterPlanetary Virtual Machine (IPVM) 实现。
- beetle - 用于云和移动平台的下一代 IPFS 实现。
- Lighthouse - Rust 中的以太坊共识客户端。
- Locutus - 全球、可观察、去中心化的键值存储。
- OpenMina - 浏览器中的 Mina Rust 实现。
- rust-ipfs - Rust 中的 IPFS 实现。
- Safe Network - Rust 中的 Safe Network 实现。
- Starcoin - 通过分层扩展的智能合约区块链网络。
- Subspace - Subspace 网络参考实现
- Substrate - 区块链创新框架,由 Polkadot 使用。
- Taple - OpenCanarias 通过资产和流程可追溯性实现的可持续 DLT。
- Ceylon - 一个多代理系统 (MAS) 开发框架。
依赖项
~1.3–2.2MB
~42K SLoC