4个版本
0.2.2 | 2021年3月2日 |
---|---|
0.2.1 | 2021年1月26日 |
0.2.0 | 2021年1月14日 |
0.1.0 | 2020年10月26日 |
在 #guaranteed 中排名 5
20KB
291 行
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,可用于操作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 服务器。在此示例中,集成了交互式外壳,用于调试/观察 Kad-DHT 内部数据结构
- ...
发布
注意:主分支现在是一个活跃的开发分支(从 v0.1.0 版本开始),这意味着随时可能会进行破坏性更改。
依赖项
~1–1.6MB
~34K SLoC