]> Untitled Git - bdk-cli/commitdiff
[blockchain] Add a trait to create `Blockchain`s from a configuration
authorAlekos Filini <alekos.filini@gmail.com>
Thu, 10 Sep 2020 16:08:37 +0000 (18:08 +0200)
committerAlekos Filini <alekos.filini@gmail.com>
Tue, 15 Sep 2020 10:03:04 +0000 (12:03 +0200)
This is the first set of changes for #42

examples/repl.rs

index 857d6abdf2acfc3534f27091a28618afbd05f7ec..bcd9a9fb3b5ddacaf4760dc5f04a13a960ecc69d 100644 (file)
@@ -37,9 +37,9 @@ use log::{debug, error, info, trace, LevelFilter};
 use bitcoin::Network;
 
 use bdk::bitcoin;
-use bdk::blockchain::ElectrumBlockchain;
+use bdk::blockchain::electrum::{ElectrumBlockchain, ElectrumBlockchainConfig};
+use bdk::blockchain::ConfigurableBlockchain;
 use bdk::cli;
-use bdk::electrum_client::Client;
 use bdk::sled;
 use bdk::Wallet;
 
@@ -89,17 +89,16 @@ fn main() {
         .unwrap();
     debug!("database opened successfully");
 
-    let client = Client::new(
-        matches.value_of("server").unwrap(),
-        matches.value_of("proxy"),
-    )
-    .unwrap();
+    let blockchain_config = ElectrumBlockchainConfig {
+        url: matches.value_of("server").unwrap().to_string(),
+        socks5: matches.value_of("proxy").map(ToString::to_string),
+    };
     let wallet = Wallet::new(
         descriptor,
         change_descriptor,
         network,
         tree,
-        ElectrumBlockchain::from(client),
+        ElectrumBlockchain::from_config(&blockchain_config).unwrap(),
     )
     .unwrap();
     let wallet = Arc::new(wallet);