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日

#6 in #libp2p-rs

Download history 12/week @ 2024-03-13 12/week @ 2024-03-20 28/week @ 2024-03-27 32/week @ 2024-04-03 8/week @ 2024-04-10 6/week @ 2024-04-17 9/week @ 2024-04-24 13/week @ 2024-05-01 14/week @ 2024-05-08 10/week @ 2024-05-15 14/week @ 2024-05-22 9/week @ 2024-05-29 10/week @ 2024-06-05 14/week @ 2024-06-12 16/week @ 2024-06-19 10/week @ 2024-06-26

每月51次下载
7 crates中使用

MIT许可证

300KB
5K SLoC

libp2p工作的替代仓库

Continuous integration

这个仓库是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。

强烈建议仔细查看文档和示例代码

代码示例

  • 有关如何编写代码的详细信息可在examples中找到
    • swarm_simple 展示了如何构建传输并创建子流进行通信
    • kad_simple 展示了如何运行 Kad-DHT 服务器。在此示例中,集成了交互式外壳,用于调试/观察 Kad-DHT 的内部数据结构
    • ...

版本发布

注意:主分支现在是活跃的开发分支(从 v0.1.0 版本开始),这意味着任何时间都可能进行破坏性更改。


lib.rs:

实现了 libp2p Transport 特性用于 TCP/IP。

使用方法

此软件包提供 TcpConfig

TcpConfig 结构体实现了 core 库的 Transport 特性。有关如何使用 Transport 特性的信息,请参阅 core 和 libp2p 的文档。

依赖项

~18–32MB
~571K SLoC