Aller au contenu principal

Client Léger

Le LightClient fournit une API simplifiée pour les consommateurs légers qui n'ont besoin que des requêtes de chaîne de base et de la soumission de transactions.

Configuration

use savitri_sdk::LightClient;

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

API

// Vérification de la connexion
let connected: bool = client.is_connected().await;

// État du nœud
let health = client.health().await?;
println!("{} - {}", health.mode, health.status);

// Hauteur de bloc
let height: u64 = client.get_block_number().await?;

// Bloc par hauteur
let block = client.get_block(42).await?;

// Informations du compte
let account = client.get_account("address_hex").await?;
println!("Solde : {}, Nonce : {}", account.balance, account.nonce);

// Solde uniquement
let balance: String = client.get_balance("address_hex").await?;

// Soumettre une transaction
let result = client.send_raw_transaction("signed_tx_hex").await?;
println!("Hash TX : {}", result.tx_hash);

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

Quand Utiliser LightClient ou RpcClient

FonctionnalitéLightClientRpcClient
État/pingOuiOui
Requêtes de blocsHauteur + par hauteurToutes les méthodes de bloc
Requêtes de compteSolde + compteSolde, nonce, jetons
TransactionsEnvoi brutEnvoi brut + récupération + reçu
PoULocal uniquementLocal, pairs, groupes, masternodes
MempoolNonTaille, statut, en attente
JetonsNonInfos, solde, transferts
Requêtes par lotNonOui
JSON-RPC brutNonOui (call_raw)

Utilisez LightClient pour les intégrations simples. Utilisez directement RpcClient lorsque vous avez besoin de la surface API complète. Vous pouvez accéder au RpcClient interne via client.rpc() pour les opérations avancées.