libp2p-rs基于 Rust 的 p2p 底层网络

联合创作 · 2023-09-29 07:09

Netwarps 团队参考 libp2p 实现了一个基于Rust语言的 p2p 底层网络—libp2p-rs。libp2p-rs大量使用了最新的 async/await 语法,是一个简洁的高性能、轻量化的 p2p 网络方案。

libp2p-rs 摈弃传统的 poll 方式,尝试完全使用 async/await 书写异步代码,系统框架主要参考 go-libp2p,部分代码重用 rust-libp2p,以此探索使用 async/await 方式开发大型网络项目的可行性。短期目标为 go-libp2p 中 BasicHost 对应的功能,不涉及 Routing,因此可以看作为 libp2p 的一个子集。

libp2p-rs 已经开源,目前发布的版本是 v0.1.0,大体上完成了相当于 Go 语言版本发布中的 basic host 功能,实现了不同语言之间互联互通,可以用来构建基于 Rust 的网络应用程序,计划在接下来的一段时间继续完善一些缺失的功能,包括异步并行协议升级处理,多地址同时连接,完整的统计,同时会积极探索如何实现路由等高级功能,最终完成一个全功能的版本,这部分主要包括 DHT 分布式哈希表, Gossip 协议以及 mDns 等等,是 libp2p 网络寻址,特别是基于内容寻址的基础设施,也是 IPFS 所依赖的重要功能。由于功能的复杂性,相应地工作量也是巨大的。未来会和各个开源组织合作,推广这个项目,不断完善去中心化网络的技术生态,帮助各种去中心化应用场景快速实现和落地。推动 IOT 和区块链技术的快速发展。Netwarps 欢迎感兴趣的 Rust 爱好者一起参与到这个开源项目的开发和维护中来。

浏览 2
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报