6 个版本

新版本 0.3.0 2024 年 8 月 9 日
0.2.2 2024 年 5 月 1 日
0.2.1 2024 年 1 月 24 日
0.2.0 2023 年 11 月 5 日
0.1.0 2023 年 9 月 22 日

#1887 in 网络编程

Download history 19971/week @ 2024-04-19 18893/week @ 2024-04-26 20852/week @ 2024-05-03 22236/week @ 2024-05-10 21296/week @ 2024-05-17 19336/week @ 2024-05-24 15363/week @ 2024-05-31 12956/week @ 2024-06-07 17531/week @ 2024-06-14 24809/week @ 2024-06-21 27159/week @ 2024-06-28 31531/week @ 2024-07-05 38844/week @ 2024-07-12 42968/week @ 2024-07-19 41141/week @ 2024-07-26 38944/week @ 2024-08-02

167,823 每月下载次数
140 个包中使用 (via libp2p)

MIT 许可证

660KB
13K SLoC

libp2p 工作的中央仓库

dependency status Crates.io docs.rs docs.rs master

此仓库是 Rust 开发的 libp2p 规范的中央位置。

入门

存储库结构

此存储库的主要组件如下所示

  • core/:实现了 libp2p-core,包括其 TransportStreamMuxer API,几乎所有其他包都依赖于这些 API。

  • transports/:基于 libp2p-coreTransport API 实现传输协议(例如 TCP)和协议升级(例如,用于认证加密、压缩等)。

  • muxers/:实现 libp2p-coreStreamMuxer 接口,例如在(通常是 TCP)连接上实现(子)流多路复用协议。多路复用协议是(强制性的)Transport 升级。

  • swarm/:基于 libp2p-corelibp2p-swarm 实现,使用中心接口 NetworkBehaviourConnectionHandler 来实现应用协议(见 protocols/)。

  • protocols/:基于 libp2p-swarm API 的应用协议实现。

  • misc/:实用库。

  • libp2p/examples/:内置应用协议(见 protocols/)的工作示例,带有常见的 Transport 配置。

社区指南

libp2p 项目遵循 IPFS 行为准则

tl;dr

  • 请保持尊重。
  • 我们在这里提供帮助: [email protected]
  • 不允许有辱骂行为。
  • 违反此准则可能导致迅速且永久地从 IPFS [和 libp2p] 社区中除名。
  • "太长,没看" 不是不知道本文件的合理借口。

维护者

(按字母顺序排列。)

  • João Oliveira (@jxs)

知名用户

(如果您想将项目添加到此处,请发起一个拉取请求)

  • COMIT - 比特币-门罗币跨链原子交换。
  • Forest - 用 Rust 编写的 Filecoin 实现。
  • fuel-core - Fuel 协议的 Rust 实现。
  • HotShot - 由 Espresso Systems 开发的 Rust 驱动的去中心化 sequencer。
  • ipfs-embed - 由 Actyx 使用和维护的小型可嵌入 ipfs 实现。
  • Homestar - Fission 使用和维护的星际虚拟机(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)开发框架。

lib.rs:

libp2p 的 UPnP 端口映射实现。

本包提供了一个 tokio::Behaviour 结构体,该结构体实现了 libp2p_swarm::NetworkBehaviour 特性。该结构体将自动尝试将网关的外部端口映射到内部地址。

依赖项

~9–20MB
~288K SLoC