7个不稳定版本 (3个重大更新)
0.4.0 | 2024年8月9日 |
---|---|
0.3.3 | 2024年8月2日 |
0.3.2 | 2024年5月1日 |
0.3.1 | 2023年12月9日 |
0.1.0 | 2023年6月22日 |
#2162 in 网络编程
12,838 每月下载量
用于 14 个crate(2个直接使用)
340KB
6.5K SLoC
libp2p工作的主要仓库
本仓库是libp2p规范Rust开发的集中地。
入门指南
-
主要文档可在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,这些API是几乎所有其他crate所依赖的。 -
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 - 使用Rust编写的Filecoin实现。
- fuel-core - Fuel协议的Rust实现。
- HotShot - 由Espresso Systems开发的Rust语言编写的去中心化sequencer。
- ipfs-embed - 由Actyx使用和维护的小型可嵌入ipfs实现。
- Homestar - 由Fission使用和维护的星际虚拟机(IPVM)实现。
- beetle - 为云和移动平台提供的下一代IPFS实现。
- Lighthouse - Rust语言编写的Ethereum共识客户端。
- Locutus - 全球、可观察、去中心化的键值存储。
- OpenMina - 在浏览器中实现的Mina Rust实现。
- rust-ipfs - Rust语言编写的IPFS实现。
- Safe Network - Safe Network的Rust实现。
- Starcoin - 通过分层扩展的智能合约区块链网络。
- Subspace - Subspace网络参考实现
- Substrate - 区块链创新框架,由Polkadot使用。
- Taple - 由 OpenCanarias 提供的可持续性分布式账本技术(DLT)用于资产和流程可追溯性。
- Ceylon - 一个多代理系统(MAS)开发框架。
lib.rs
:
基于 web-sys 构建的 Libp2p WebSocket 传输。
依赖项
~13–22MB
~339K SLoC