bittensor_rs/queries/mod.rs
1//! # Chain Queries
2//!
3//! Read-only queries against Bittensor blockchain state.
4//!
5//! This module provides functions for querying:
6//!
7//! - **Account**: Balances, stake amounts, and stake info
8//! - **Metagraph**: Full or selective metagraph data for subnets
9//! - **Neurons**: Individual neuron info and UID lookups
10//! - **Subnets**: Subnet existence, hyperparameters, and metadata
11//!
12//! # Example
13//!
14//! ```rust,ignore
15//! use bittensor_rs::queries::{get_metagraph, get_balance, get_neuron};
16//!
17//! async fn example(client: &subxt::OnlineClient<subxt::PolkadotConfig>, account_id: &subxt::config::polkadot::AccountId32) -> Result<(), Box<dyn std::error::Error>> {
18//! // Get metagraph for subnet 1
19//! let metagraph = get_metagraph(client, 1).await?;
20//!
21//! // Check account balance
22//! let balance = get_balance(client, account_id).await?;
23//!
24//! // Get specific neuron by UID
25//! let neuron = get_neuron(client, 1, 0).await?;
26//! Ok(())
27//! }
28//! ```
29//!
30//! All query functions accept a subxt `OnlineClient` and return typed results.
31
32mod account;
33mod metagraph;
34mod neuron;
35mod subnet;
36
37pub use account::{
38 get_balance, get_stake, get_stake_info_for_coldkey, get_total_network_stake, StakeInfo,
39};
40pub use metagraph::{fields, get_metagraph, Metagraph, SelectiveMetagraph};
41pub use neuron::{get_neuron, get_neuron_lite, get_uid_for_hotkey, NeuronInfo, NeuronInfoLite};
42pub use subnet::{
43 get_subnet_hyperparameters, get_subnet_info, get_total_subnets, subnet_exists,
44 SubnetHyperparameters, SubnetInfo,
45};