5 个不稳定版本
0.3.0 | 2021年4月23日 |
---|---|
0.2.2 | 2021年3月2日 |
0.2.1 | 2021年1月26日 |
0.2.0 | 2021年1月14日 |
0.1.0 | 2020年10月26日 |
#122 in #transport
每月26次 下载
在 libp2p-rs 中使用
355KB
6K SLoC
libp2p 的替代仓库
该仓库是 libp2p 规范的 Rust
替代实现。与 rust-libp2p
不同,libp2p-rs
使用了 async/await 语法,并由异步运行时驱动。尽管如此,许多代码是从 rust-libp2p
和一些从 go-libp2p
中借用来的。我们试图保持与这两种实现的兼容性,但不幸的是,这不能保证。
文档
如何使用该库?
如上所述,API 完全不同于 rust-libp2p
。在 libp2p-rs
中根本不存在“NetworkBehaviour”。相反,您应该使用您喜欢的传输来构建 Swarm,然后您必须从它创建一个 Swarm::Control。Swarm::Control 暴露了所有 Swarm API,这些 API 可以用来操作 Swarm - 打开/读取/写入/关闭流等等。这和 go-libp2p
中的 BasicHost 非常相似。至于 Kad-DHT,出于同样的原因,您应该获取 Kad::Control。此外,您可以将 Swarm 与 Kad 结合起来,之后您就有了一个具有路由功能的 RoutedHost。
强烈建议详细查看文档和示例代码
- API 文档可以在:https://docs.rs/libp2p-rs
- 设计文档可以在
docs
中找到
代码示例
- 有关编写代码的详细信息可以在
examples
中找到- swarm_simple 示例演示了如何构建传输并创建子流以进行通信
- kad_simple 示例演示了如何运行 Kad-DHT 服务器。在这个示例中,集成了交互式 shell 用于调试/观察 Kad-DHT 内部数据结构
- ...
发布版本
注意:主分支现在是一个活跃的开发分支(从 v0.1.0 开始),这意味着任何时间都可能进行破坏性更改。
lib.rs
:
实现了 libp2p Transport
特性用于 Websockets。
依赖项
~25–40MB
~735K SLoC