7个不稳定版本

0.4.0 2023年6月20日
0.3.0 2022年5月31日
0.2.1 2020年1月24日
0.1.2 2019年5月15日
0.1.0 2019年1月2日

#1797 in 网络编程

Download history 54032/week @ 2024-03-14 60563/week @ 2024-03-21 59593/week @ 2024-03-28 69176/week @ 2024-04-04 64691/week @ 2024-04-11 61000/week @ 2024-04-18 53701/week @ 2024-04-25 53240/week @ 2024-05-02 53955/week @ 2024-05-09 54090/week @ 2024-05-16 67578/week @ 2024-05-23 58060/week @ 2024-05-30 50294/week @ 2024-06-06 58250/week @ 2024-06-13 51514/week @ 2024-06-20 38745/week @ 2024-06-27

每月208,071次下载
用于 531 个包(21 直接)

MIT 许可证

10KB
161

libp2p工作的中心仓库

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

此仓库是libp2p规范Rust开发的中心地点。

入门

仓库结构

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

  • 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] 社区中开除。
  • "太长了,没看" 不是不了解本文件的合理借口。

维护者

(按字母顺序排列。)

知名用户

(如果您想将项目添加到这里,请提交一个 pull request)

  • COMIT - 比特币–门罗币跨链原子交换。
  • Forest - 使用 Rust 编写的 Filecoin 实现。
  • fuel-core - Rust 中的 Fuel 协议实现。
  • HotShot - 由 Espresso Systems 开发的 Rust 驱动的去中心化 sequencer。
  • ipfs-embed - 由 Actyx 使用和维护的小型嵌入式 ipfs 实现。
  • Homestar - 由 Fission 使用和维护的 InterPlanetary Virtual Machine (IPVM) 实现。
  • beetle - 针对 Cloud & Mobile 平台的下一代 IPFS 实现。
  • Lighthouse - Rust 中的以太坊共识客户端。
  • Locutus - 全球、可观察、去中心化的键值存储。
  • OpenMina - 浏览器中的 Mina Rust 实现。
  • rust-ipfs - Rust 中的 IPFS 实现。
  • Safe Network - Rust 中的 Safe Network 实现。
  • Starcoin - 通过分层扩展的智能合约区块链网络。
  • Subspace - Subspace 网络参考实现
  • Substrate - 区块链创新的框架,由 Polkadot 使用。
  • Taple - 由 OpenCanarias 开发的可持续 DLT,用于资产和流程的可追溯性。

lib.rs:

本库提供了 RwStreamSink 类型。它包装了一个 StreamSink,该包装可以生成和接受字节数组,并实现了 AsyncReadAsyncWrite

每次调用 AsyncWrite::poll_write 都会将一个数据包发送到接收器。调用 AsyncRead::poll_read 将从流的传入数据包中读取。

依赖关系

~1–1.7MB
~33K SLoC