From 792dd8867ae53dc09059f0ae6b8c31ffff3348a8 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Thu, 2 Aug 2018 16:38:47 +0300 Subject: [PATCH] Fail if bitcoind is pruned or still in IBD (with human-readable error message) --- src/daemon.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/daemon.rs b/src/daemon.rs index 2393a3b..60b0190 100644 --- a/src/daemon.rs +++ b/src/daemon.rs @@ -91,6 +91,7 @@ pub struct BlockchainInfo { bestblockhash: String, size_on_disk: u64, pruned: bool, + initialblockdownload: bool, } #[derive(Serialize, Deserialize, Debug)] @@ -280,7 +281,16 @@ impl Daemon { network_info.subversion, ) } - debug!("{:?}", daemon.getblockchaininfo()?); + let blockchain_info = daemon.getblockchaininfo()?; + debug!("{:?}", blockchain_info); + if blockchain_info.initialblockdownload == true { + bail!(ErrorKind::Connection( + "wait until bitcoin is synced (i.e. initialblockdownload = false)".to_owned() + )) + } + if blockchain_info.pruned == true { + bail!("pruned node is not supported (use '-prune=0' bitcoind flag)".to_owned()) + } Ok(daemon) }