2 个版本
0.1.1 | 2022 年 2 月 26 日 |
---|---|
0.1.0 | 2022 年 2 月 21 日 |
#8 in #scuttlebutt
74KB
834 行
golgi
高尔基复合体(又称高尔基体或高尔基囊)在囊泡被发送到目的地之前,将蛋白质包装成膜结合的囊泡。
简介
Golgi 是一个异步、实验性的 Scuttlebutt 客户端,旨在促进 Scuttlebutt 应用程序的开发。它提供了一个高级 API 来与 sbot 实例交互,并使用 kuska-ssb 库进行 RPC 调用。当前的开发工作主要集中在 go-sbot 兼容性上。
功能
Golgi 提供了调用单个 RPC 方法的能力,同时也提供了一些方便的方法,这些方法可能涉及多个 RPC 调用以及/或处理从这些调用接收到的数据。主要的交互方式是 Sbot
struct
。
功能包括发布各种类型的消息;检索消息(例如 about
和 description
消息)并形成查询;关注、取消关注、屏蔽和解除屏蔽一个对等方;查询社交图;以及生成 pub 邀请码。
示例用法
以下展示了基本用法。更多示例请访问 golgi
仓库中的 示例目录。
use golgi::{GolgiError, Sbot};
pub async fn run() -> Result<(), GolgiError> {
// Attempt to initialise a connection to an sbot instance using the default
// IP address, port and network key (aka. capabilities key).
let mut sbot_client = Sbot::init(None, None).await?;
// Call the `whoami` RPC method to retrieve the public key for the sbot
// identity.
let id = sbot_client.whoami().await?;
// Print the public key (identity) to `stdout`.
println!("{}", id);
// Compose an SSB post message type.
let post = SsbMessageContent::Post {
text: "Biology, eh?!".to_string(),
mentions: None,
};
// Publish the post.
let post_msg_reference = sbot_client.publish(post).await?;
// Print the reference (sigil-link) for the published post.
println!("{}", post_msg_reference);
Ok(())
}
作者
许可证
LGPL-3.0。
依赖关系
~27–38MB
~383K SLoC