From dae5382fd4ecbc5fd472545c474b8e010a28f41e Mon Sep 17 00:00:00 2001 From: Wilmer Paulino Date: Thu, 9 Aug 2018 23:25:35 -0700 Subject: [PATCH] chainregistry: correctly establish connection to bitcoind In this commit, we fix a bug recently introduced where we would construct the parameters required to connect to a bitcoind backend, but never actually started the connection. --- chainregistry.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/chainregistry.go b/chainregistry.go index efde6fba..27f763c1 100644 --- a/chainregistry.go +++ b/chainregistry.go @@ -305,6 +305,8 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB, } } + // Establish the connection to bitcoind and create the clients + // required for our relevant subsystems. bitcoindConn, err := chain.NewBitcoindConn( activeNetParams.Params, bitcoindHost, bitcoindMode.RPCUser, bitcoindMode.RPCPass, @@ -315,14 +317,13 @@ func newChainControlFromConfig(cfg *config, chanDB *channeldb.DB, return nil, nil, err } + if err := bitcoindConn.Start(); err != nil { + return nil, nil, fmt.Errorf("unable to connect to "+ + "bitcoind: %v", err) + } + cc.chainNotifier = bitcoindnotify.New(bitcoindConn) - - // Next, we'll create an instance of the bitcoind chain view to - // be used within the routing layer. cc.chainView = chainview.NewBitcoindFilteredChainView(bitcoindConn) - - // Create a special rpc+ZMQ client for bitcoind which will be - // used by the wallet for notifications, calls, etc. walletConfig.ChainSource = bitcoindConn.NewBitcoindClient(birthday) // If we're not in regtest mode, then we'll attempt to use a