41次重大发布

0.42.0 2024年8月9日
0.41.0 2023年11月5日
0.40.1 2023年10月18日
0.40.0 2023年6月20日
0.6.0 2019年3月29日

#2#networking-stack

Download history 59237/week @ 2024-04-21 52576/week @ 2024-04-28 51089/week @ 2024-05-05 58776/week @ 2024-05-12 56703/week @ 2024-05-19 61261/week @ 2024-05-26 53358/week @ 2024-06-02 48897/week @ 2024-06-09 48754/week @ 2024-06-16 51797/week @ 2024-06-23 44238/week @ 2024-06-30 44536/week @ 2024-07-07 58202/week @ 2024-07-14 59751/week @ 2024-07-21 54363/week @ 2024-07-28 55910/week @ 2024-08-04

232,300 每月下载量
249 个crate(14个直接使用) 中使用

MIT 许可证

375KB
7K SLoC

libp2p工作的中心仓库

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

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

入门

仓库结构

此仓库的主要组件结构如下

  • core/:实现libp2p-core及其TransportStreamMuxer API,几乎所有其他crate都依赖于它。

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

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

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

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

  • misc/:实用库。

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

社区指南

libp2p 项目在 IPFS 行为准则 下运营。

tl;dr

  • 尊重他人。
  • 我们在这里提供帮助: [email protected]
  • 不允许有辱骂行为。
  • 违反本准则可能导致迅速且永久地从 IPFS [和 libp2p] 社区中除名。
  • "太长,没读" 不是不了解本文件内容的借口。

维护者

(按字母顺序排列。)

知名用户

(如果你想在这里添加你的项目,请打开一个 pull request)

  • COMIT - Bitcoin–Monero 跨链原子交换。
  • 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 的 Ethereum 共识客户端。
  • 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的TCP/IPlibp2p_core::Transport特质。

使用方法

该包根据启用功能提供async_io::Transporttokio::Transport,这取决于启用的功能,它们实现了libp2p_core::Transport特质,用作与libp2p-corelibp2p-swarm的传输。

依赖项

~7–38MB
~615K SLoC