Check that the node we connect to matches the user-provided chain
[ldk-sample] / src / main.rs
index 21dfb284a81eeae3e9b1366a41e55fc4cd891378..7f4b5bf4a3b2e72b79983b26ca3124a6eaed95d5 100644 (file)
@@ -290,6 +290,18 @@ async fn start_ldk() {
                }
        };
 
+       // Check that the bitcoind we've connected to is running the network we expect
+       let bitcoind_chain = bitcoind_client.get_blockchain_info().await.chain;
+       if bitcoind_chain != match args.network {
+               bitcoin::Network::Bitcoin => "main",
+               bitcoin::Network::Testnet => "test",
+               bitcoin::Network::Regtest => "regtest",
+               bitcoin::Network::Signet => "signet",
+       } {
+               println!("Chain argument ({}) didn't match bitcoind chain ({})", args.network, bitcoind_chain);
+               return;
+       }
+
        // ## Setup
        // Step 1: Initialize the FeeEstimator