跳到主要内容

轻客户端

LightClient 为只需基本链查询和交易提交的轻量级消费者提供简化 API。

初始化

use savitri_sdk::LightClient;

let client = LightClient::new("http://localhost:8545")?;

API

// 连接检查
let connected: bool = client.is_connected().await;

// 健康状态
let health = client.health().await?;
println!("{} - {}", health.mode, health.status);

// 区块高度
let height: u64 = client.get_block_number().await?;

// 按高度获取区块
let block = client.get_block(42).await?;

// 账户信息
let account = client.get_account("address_hex").await?;
println!("Balance: {}, Nonce: {}", account.balance, account.nonce);

// 仅获取余额
let balance: String = client.get_balance("address_hex").await?;

// 提交交易
let result = client.send_raw_transaction("signed_tx_hex").await?;
println!("TX hash: {}", result.tx_hash);

// PoU 状态
let pou = client.pou_local().await?;

何时使用 LightClient 与 RpcClient

功能LightClientRpcClient
健康检查/ping
区块查询高度 + 按高度查询所有区块方法
账户查询余额 + 账户余额、nonce、代币
交易发送原始交易发送原始 + 获取 + 收据
PoU仅本地本地、节点、分组、主节点
内存池大小、状态、待处理
代币信息、余额、转账记录
批量请求
原始 JSON-RPC是(call_raw

简单集成场景请使用 LightClient。需要完整 API 时,请直接使用 RpcClient。您可以通过 client.rpc() 访问内部的 RpcClient 以进行高级操作。