45个重大版本发布

0.46.0 2024年8月9日
0.45.1 2023年11月22日
0.44.0 2023年6月20日
0.43.1 2023年3月29日
0.6.0 2019年3月29日

1469网络编程 中排名

Download history 50896/week @ 2024-05-04 58974/week @ 2024-05-11 54881/week @ 2024-05-18 62536/week @ 2024-05-25 53550/week @ 2024-06-01 47699/week @ 2024-06-08 50127/week @ 2024-06-15 51948/week @ 2024-06-22 44281/week @ 2024-06-29 42707/week @ 2024-07-06 58719/week @ 2024-07-13 60235/week @ 2024-07-20 54520/week @ 2024-07-27 58017/week @ 2024-08-03 76729/week @ 2024-08-10 46939/week @ 2024-08-17

每月下载量 246,141
217 个crate(2个直接使用) 中使用

MIT 许可证

800KB
16K SLoC

libp2p工作的中心仓库

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

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

入门指南

仓库结构

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

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

  • transports/:基于 libp2p-core Transport 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 - Bitcoin–Monero 跨链原子交换。
  • 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 特定的 mDNS 协议的实现。

mDNS 是由 RFC 6762 定义的协议,允许查询与特定域名对应的节点。

在 libp2p 的上下文中,mDNS 协议用于发现本地网络中支持 libp2p 的其他节点。

用法

根据启用的功能,此 crate 提供了 MdnsTokioMdns,实现了 NetworkBehaviour 特性。该结构将自动发现本地网络上的其他 libp2p 节点。

依赖关系

~10–42MB
~682K SLoC