mina_sdk/lib.rs
1//! Rust SDK for interacting with Mina Protocol nodes via GraphQL.
2//!
3//! # Quick Start
4//!
5//! ```no_run
6//! # async fn example() -> mina_sdk::Result<()> {
7//! use mina_sdk::{MinaClient, Currency};
8//!
9//! let client = MinaClient::new("http://127.0.0.1:3085/graphql");
10//!
11//! // Query node status
12//! let status = client.get_sync_status().await?;
13//! println!("Node is {status}");
14//!
15//! // Send a payment
16//! let result = client.send_payment(
17//! "B62q..sender..",
18//! "B62q..receiver..",
19//! Currency::from_mina("1.5")?,
20//! Currency::from_mina("0.01")?,
21//! Some("hello"),
22//! None,
23//! ).await?;
24//! println!("Payment hash: {}", result.hash);
25//! # Ok(())
26//! # }
27//! ```
28
29mod client;
30mod currency;
31pub mod error;
32pub mod queries;
33mod types;
34
35pub use client::{ClientConfig, MinaClient};
36pub use currency::Currency;
37pub use error::{Error, Result};
38pub use types::{
39 AccountBalance, AccountData, BlockInfo, DaemonStatus, PeerInfo, PooledUserCommand,
40 SendDelegationResult, SendPaymentResult, SyncStatus,
41};