use crate::{keys, utils}; use bdk::{blockchain::ElectrumBlockchain, electrum_client, SyncOptions}; pub async fn run() -> Result<(), anyhow::Error> { let dave = utils::home(&"dave".to_string()); let sammy = utils::home(&"sammy".to_string()); // Load mnemonics from disk let dave_wallet = keys::bitcoin::load_from_file(&dave).unwrap(); let sammy_wallet = keys::bitcoin::load_from_file(&sammy).unwrap(); // let dave_address = dave_wallet.get_address(bdk::wallet::AddressIndex::New)?; // println!("Dave address: {:?}", dave_address); // let sammy_address = sammy_wallet.get_address(bdk::wallet::AddressIndex::New)?; // println!("Sammy address: {:?}", sammy_address); let blockchain = ElectrumBlockchain::from(electrum_client::Client::new( "ssl://electrum.blockstream.info:60002", )?); // let dave_balance = dave_wallet.get_balance()?; // println!("Wallet balance before syncing: {} sats", dave_balance); // let sammy_balance = sammy_wallet.get_balance()?; // println!("Wallet balance before syncing: {} sats", sammy_balance); println!("Syncing..."); dave_wallet.sync(&blockchain, SyncOptions::default())?; println!( "Wallet balance for {} after syncing: {:?} sats", dave_wallet.get_address(bdk::wallet::AddressIndex::LastUnused)?, dave_wallet.get_balance()? ); Ok(()) }