diff options
| author | sneurlax <sneurlax@gmail.com> | 2024-10-20 21:03:09 -0500 |
|---|---|---|
| committer | sneurlax <sneurlax@gmail.com> | 2024-10-20 21:03:09 -0500 |
| commit | 1d6dc089be4208a6f1693aa3d602665cecdfff54 (patch) | |
| tree | 5fdd7ef58ef8b19348f906c18184e9c906779964 /impls/monero.rs/example | |
| parent | 06beb39b2e62c585b29fa5b435ee645dbfa1bca5 (diff) | |
WIP scanning example
once this is fixed it should show a live balance
Diffstat (limited to 'impls/monero.rs/example')
| -rw-r--r-- | impls/monero.rs/example/src/main.rs | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/impls/monero.rs/example/src/main.rs b/impls/monero.rs/example/src/main.rs index 603f790..245013a 100644 --- a/impls/monero.rs/example/src/main.rs +++ b/impls/monero.rs/example/src/main.rs @@ -1,4 +1,4 @@ -use monero_c_rust::{NetworkType, WalletError, WalletManager}; +use monero_c_rust::{NetworkType, WalletError, WalletManager, WalletConfig}; use tempfile::TempDir; fn main() -> Result<(), WalletError> { @@ -17,12 +17,47 @@ fn main() -> Result<(), WalletError> { 1, // Default KDF rounds. "".to_string(), // No seed offset. true, // Create a new wallet. - ); + )?; println!("Wallet created successfully."); // Print the primary address. - println!("Primary address: {}", wallet?.get_address(0, 0)?); + println!("Primary address: {}", wallet.get_address(0, 0)?); + + // Initialize the wallet. + let config = WalletConfig { + daemon_address: "https://monero.stackwallet.com:18081".to_string(), + upper_transaction_size_limit: 10000, // TODO: use sane value. + daemon_username: "".to_string(), + daemon_password: "".to_string(), + use_ssl: true, + light_wallet: false, + proxy_address: "".to_string(), + }; + + // Perform the initialization. + wallet.init(config)?; + wallet.throw_if_error()?; + + // Refresh the wallet. + wallet.refresh()?; + wallet.throw_if_error()?; + + // Wait for the refresh to complete. + loop { + let height = manager.get_height().expect("Failed to get blockchain height"); + println!("Current blockchain height: {}", height); + if height > 3263501 { // After this height we can get_balance. + break (); + } + // Wait one second. + std::thread::sleep(std::time::Duration::from_secs(1)); + } + + // Get the balance. + let balance_result = wallet.get_balance(0); // Account index 0. + let balance = balance_result.unwrap(); + println!("Balance: {:?}", balance); // Clean up the wallet. std::fs::remove_file(wallet_str).expect("Failed to delete test wallet"); |
