4 个版本
0.1.3 | 2023 年 8 月 21 日 |
---|---|
0.1.2 | 2023 年 8 月 7 日 |
0.1.1 | 2023 年 8 月 6 日 |
0.1.0 | 2023 年 8 月 6 日 |
#420 在 日期和时间
每月 25 次下载
14KB
82 行
⚠️🚧 hub-rs 目前处于积极开发中,不应假定其已准备好投入生产 🚧⚠️
hub-rs
hub-rs 是一个用于与 Farcaster 集中式交换进行交互的简单 Rust 库
所有定义和函数都是通过 tonic 自动生成的
Protobufs 由 Farcaster monorepo 提供
如何使用
首先,安装软件包
hub-rs = { version = "0.1.3" }
或 cargo add hub-rs
然后,你可以在项目中使用它。要创建一个客户端并获取连接的集中式交换信息,你可能需要编写如下内容
use hub_rs::hub_service_client::HubServiceClient;
use hub_rs::HubInfoRequest;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
// Secure or insecure connections are defined by the protocol you provide, either http or https
let mut client = HubServiceClient::connect("https://mainnet.useportals.app:2283").await?;
let info = client.get_info(HubInfoRequest { db_stats: true }).await?;
println!("{:?}", info.into_inner());
Ok(())
}
写操作
目前,这里不支持将数据写入集中式交换。如果你想要查看/构建它,可以查看 landon-write-operations 分支(在 src/builders/make_cast_add.rs 中)。
提供的额外功能
目前,提供了两个额外的函数以改善用户体验
bytes_to_hex_string
- 将Vec<u8>
或[u8; 32/64]
类型转换为十六进制字符串hex_string_to_bytes
- 将十六进制字符串转换为Vec<u8>
常见问题解答
Q: 为什么?
A: 🦀🦀🦀 🚀🚀🚀
Q: 这比 hub-nodejs 更快吗?
A: 从理论上讲,是的,这仅仅是因为 Rust 的特性。然而,差异可能非常小,因为其主要只是请求,真正的瓶颈是 I/O 和互联网速度。
尽管如此,如果你有兴趣进行一些基准测试,可以提交一个 PR 或在 Telegram 上联系我:@landon_xyz
依赖项
~14–25MB
~440K SLoC