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日 |
#5 in #libp2p-rs
28 每月下载量
用于 2 crates
275KB
4.5K 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,可以用来操作Swarm - 打开/读取/写入/关闭流等。这相当类似于go-libp2p
中的BasicHost。至于Kad-DHT,同样你应该为了同样的原因获取Kad::Control。此外,你还可以将Swarm与Kad结合,之后你就有RoutedHost,它具有在BasicHost上的路由功能。
强烈建议仔细检查文档和示例代码
- API文档可以在以下位置找到:https://docs.rs/libp2p-rs
- 设计文档可以在
docs
中找到
代码示例
- 有关如何编写代码的详细信息可以在
examples
中找到- swarm_simple 展示了如何构建传输并创建用于通信的子流
- kad_simple 展示了如何运行 Kad-DHT 服务器。在这个示例中,集成了交互式壳以进行调试/观察 Kad-DHT 内部数据结构
- ...
版本
注意:主分支现在是活跃的开发分支(从 v0.1.0 开始),这意味着任何时间都可能进行破坏性更改。
依赖项
~19MB
~422K SLoC