Use this file to discover all available pages before exploring further.
The GovernanceApi provides methods for querying staking information, validator details, and network governance state. All methods are in the suix namespace.
use sui_sdk::SuiClientBuilder;use sui_types::base_types::SuiAddress;use std::str::FromStr;#[tokio::main]async fn main() -> Result<(), anyhow::Error> { let sui = SuiClientBuilder::default() .build("https://fullnode.mainnet.sui.io:443") .await?; // Get system state let system_state = sui.governance_api() .get_latest_sui_system_state() .await?; println!("Current Epoch: {}", system_state.epoch); println!("Reference Gas Price: {}", system_state.reference_gas_price); println!("Total Stake: {}", system_state.total_stake); println!("Active Validators: {}", system_state.active_validators.len()); // Get reference gas price let gas_price = sui.governance_api() .get_reference_gas_price() .await?; println!("Gas Price: {} MIST", gas_price); // Get stakes for an address let address = SuiAddress::from_str("0x...")?; let stakes = sui.governance_api() .get_stakes(address) .await?; for stake in stakes { println!("Stake: {} SUI with validator {}", stake.principal, stake.validator_address); } // Get validator APY let apys = sui.governance_api() .get_validators_apy() .await?; println!("Validator APYs for epoch {}", apys.epoch); Ok(())}