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日 |
22 在 #libp2p 中
用于 2 crate
350KB
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,可以用来操作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服务器。在这个例子中,集成了交互式shell用于调试/观察Kad-DHT内部数据结构
- ...
版本
注意:主分支现在是一个活动开发分支(从v0.1.0开始),这意味着可以在任何时候进行破坏性更改。
lib.rs
:
libp2prs-dns
本软件包提供类型 DnsConfig
,允许用户解析多地址中的 /dns4/
和 /dns6/
组件。
用法
要使用此软件包,请使用其构造函数之一创建一个 DnsConfig
,并传入实现 Transport
特质的实例。
每当我们需要通过 DnsConfig
来拨打电话,并且该地址包含 /dns/
、/dns4/
或 /dns6/
组件时,将执行 DNS 解析,并将组件替换为 /ip4/
和/或 /ip6/
组件。
依赖
~16–32MB
~555K SLoC