get_transaction/
get_transaction.rs

1//! Get Transaction Example
2//!
3//! This example demonstrates how to retrieve transaction details by transaction ID.
4//! It shows how to:
5//! - Initialize a Privy client with app credentials
6//! - Query transaction details using transaction ID
7//! - Handle transaction response data
8//!
9//! ## Required Environment Variables
10//! - `PRIVY_APP_ID`: Your Privy app ID
11//! - `PRIVY_APP_SECRET`: Your Privy app secret
12//! - `PRIVY_TRANSACTION_ID`: The transaction ID to retrieve
13//!
14//! ## Usage
15//! ```bash
16//! cargo run --example get_transaction
17//! ```
18
19use anyhow::Result;
20use privy_rs::PrivyClient;
21use tracing_subscriber::EnvFilter;
22
23#[tokio::main]
24async fn main() -> Result<()> {
25    tracing_subscriber::fmt()
26        .with_env_filter(
27            EnvFilter::try_from_default_env().unwrap_or_else(|_| EnvFilter::new("info")),
28        )
29        .init();
30
31    // Get transaction ID from environment and initialize client
32    let transaction_id = std::env::var("PRIVY_TRANSACTION_ID")
33        .expect("PRIVY_TRANSACTION_ID environment variable not set");
34    let client = PrivyClient::new_from_env()?;
35
36    tracing::info!(
37        "initialized privy client from environment, transaction_id: {}",
38        transaction_id
39    );
40
41    let transaction = client.transactions().get(&transaction_id).await?;
42
43    tracing::info!("got transaction: {:?}", transaction);
44
45    Ok(())
46}