跳到主要内容

Rust SDK

openfiat-sdkopenfiat-sdks/rust)—— 一个面向节点 JSON-RPC 接口的类型化客户端,外加 Ed25519 钱包签名和 Solana 链桥支持。

安装

Pre-1.0,尚未发布到 crates.io——以 git 依赖的形式引入, 固定到某个 commit:

[dependencies]
openfiat-sdk = { git = "https://github.com/OpenFiat-org/openfiat-sdks", rev = "<commit>" }

快速开始

use openfiat_sdk::{Client, ClientConfig};

let client = Client::new(ClientConfig {
endpoint: "http://localhost:7080".to_string(),
..ClientConfig::default()
});

let version = client.get_version().await?;

签署并提交一次写入

每个 sendX 方法取该领域自己的事件结构体加上一个 Keypair——SDK 构建已签名的载荷并提交;一个节点 从不代表你构造或签署任何东西:

use openfiat_sdk::wallet::Keypair;
use openfiat_oracles::events::OraclePublish;

let keypair = Keypair::generate(); // 或 Keypair::from_seed(...) / solana_keyfile::load(...)
let oracle_id = client.send_oracle_publish(publish, &keypair).await?;

示例

rust/examples 中的每个示例都针对一个真实节点运行,并由 tests/live_node.rs 中的一个集成测试覆盖(在 CI 中运行),因此一个损坏的示例会像一个 损坏的测试一样让构建失败:

针对一个本地节点运行其中任意一个:

# 终端 1 —— 在 openfiat-core 中
cargo run -p openfiat-cli -- --rpc-bind-address 127.0.0.1:7080

# 终端 2 —— 在 openfiat-sdks/rust 中
cargo run --example trading_bot