From 2f73f6f81b3b14951b65d7cef3030c86c7b1334b Mon Sep 17 00:00:00 2001 From: Martin Boehm Date: Thu, 25 Jan 2018 16:24:27 +0100 Subject: [PATCH] connectBlockChunk - handling height over bitcoind best block height --- blockbook.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/blockbook.go b/blockbook.go index 3c15286c..732a6932 100644 --- a/blockbook.go +++ b/blockbook.go @@ -295,7 +295,10 @@ func connectBlocksParallel( } err := connectBlockChunk(chain, index, low, high) if err != nil { - log.Fatalf("connectBlocksParallel %d-%d %v", low, high, err) // TODO + if e, ok := err.(*bitcoin.RPCError); ok && (e.Message == "Block height out of range" || e.Message == "Block not found") { + break + } + log.Fatalf("connectBlocksParallel %d-%d %v", low, high, err) } } } @@ -316,7 +319,10 @@ func connectBlockChunk( ) error { connected, err := isBlockConnected(chain, index, higher) if err != nil || connected { - return err + // if higher is over the best block, continue with lower block, otherwise return error + if e, ok := err.(*bitcoin.RPCError); !ok || e.Message != "Block height out of range" { + return err + } } height := lower