Pular para o conteúdo principal

SDK de Rust

openfiat-sdk (openfiat-sdks/rust) — um cliente tipado para a superfície JSON-RPC de um nó, mais assinatura de carteira Ed25519 e suporte à ponte de cadeia da Solana.

Instalação

Pré-1.0 e ainda não publicado no crates.io — dependa dele como uma dependência git, fixada a um commit:

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

Início rápido

use openfiat_sdk::{Client, ClientConfig};

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

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

Assinar e submeter uma escrita

Cada método sendX recebe o próprio struct de evento do domínio mais um Keypair — o SDK constrói a carga assinada e a submete; um nó nunca constrói nem assina nada em seu nome:

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

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

Exemplos

Cada exemplo em rust/examples roda contra um nó real e é coberto por um teste de integração em tests/live_node.rs (executado no CI), então um exemplo quebrado quebra o build do mesmo modo que um teste quebrado:

Execute qualquer um deles contra um nó local:

# terminal 1 — a partir de openfiat-core
cargo run -p openfiat-cli -- --rpc-bind-address 127.0.0.1:7080

# terminal 2 — a partir de openfiat-sdks/rust
cargo run --example trading_bot