diff --git a/src/bitcoin/electrum/client.rs b/src/bitcoin/electrum/client.rs index 1fd5a3d0..eec542f1 100644 --- a/src/bitcoin/electrum/client.rs +++ b/src/bitcoin/electrum/client.rs @@ -57,7 +57,9 @@ impl Client { pub fn new(electrum_config: &config::ElectrumConfig) -> Result { // First use a dummy config to check connectivity (no retries, short timeout). let dummy_config = Config::builder().retry(0).timeout(Some(3)).build(); + // Try to ping the server. bdk_electrum::electrum_client::Client::from_config(&electrum_config.addr, dummy_config) + .and_then(|dummy_client| dummy_client.ping()) .map_err(Error::Server)?; // Now connection has been checked, create client with required retries and timeout.