<p>When running bitcoind and lnd on Windows, ensure you specify <code>127.0.0.1</code> instead of <code>localhost</code> for the <code>rpchost</code> parameter on the lnd command-line, or in the lnd.conf file.</p>

<p>For some, as yet unknown reason, Windows appears to be inserting an artificial wait when resolving <code>localhost</code>.</p>

<hr>

<p><sup>I've submitted a <a href="https://github.com/lightningnetwork/lnd/pull/1195" rel="nofollow noreferrer">pull request</a> to the lnd github repo to have the documentation updated to reflect the details above.</sup></p>

CC BY-SA 4.0
2018-05-05T02:48:29.650Z
2018-05-07T15:49:14.553Z
2018-05-07T15:49:14.553Z
Hannah Vernon
<p>I'm using Lightning Networks' lnd 0.4.1-beta node in Windows, with a Bitcoin Core bitcoind full node backend.  The bitcoind full node has the --txindex option, and is fully synced according to bitnodes.earn.com</p>

<p>I've configured bitcoind to use ZMQ, and indeed <code>netstat -a -b</code> shows bitcoind is listening on 28332 for ZMQ connections.  Bitcoin.conf is configured with:</p>

<pre># Generated by https://jlopp.github.io/bitcoin-core-config-generator/

# This config should be placed in following path:
# %UserProfile%\AppData\Roaming\Bitcoin\bitcoin.conf

debug=0
logips=1
printtoconsole=1
txindex=1
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28332
zmqpubhashblock=tcp://127.0.0.1:28332
zmqpubhashtx=tcp://127.0.0.1:28332

# [wallet]
wallet=wallet1.dat
wallet=wallet2.dat

# [core]
# Specify the location of the configuration file. To use non-default location, create a default location config file containing this setting.
conf=E:\\BitcoinCore
# Specify a non-default location to store blockchain and other data.
datadir=E:\\data
# Set database cache size in megabytes; machines sync faster with a larger cache. Recommend setting as high as possible based upon machine's available RAM.
dbcache=12288
# Keep the transaction memory pool below  megabytess.
maxmempool=3072
# Extra transactions to keep in memory for compact block reconstructions.
blockreconstructionextratxn=512
# Set the number of script verification threads. (1 to CPU_CORES, 0 = automatic, less than 0 = leave that many cores free).
par=0
persistmempool=1

# [network]
listen=1
port=8333
bind=0.0.0.0
listenonion=0
# Maximum per-connection send buffer (KiB).
maxsendbuffer=2000

# [fees]
# fee to use if no fee is specified in outgoing tx
fallbackfee=0.0002
# fees below this amount are considered zero fee
discardfee=0.000025
# allow replace-by-fee for unconfirmed transactions
walletrbf=1
# maximum fee for outgoing transactions
maxtxfee=0.01

# [rpc]
# Accept command line and JSON-RPC commands.
server=1
rpcuser=&lt;username&gt;
rpcpassword=&lt;passwod&gt;
rpcallowip=192.168.0.39
rpcallowip=192.168.0.33
rpcallowip=192.168.0.32
rpcallowip=192.168.0.40
</pre>

<p>lnd.conf has the following</p>

<pre>debuglevel=debug
logdir=E:\lnd\data\logs
lnddir=E:\lnd
datadir=E:\lnd\data
bitcoin.active=1
bitcoin.mainnet-1
bitcoin.node=bitcoind
bitcoin.chaindir=E:\lnd\data\bitcoin-chain
bitcoind.dir=E:\data
bitcoind.rpchost=localhost
bitcoind.rpcuser=&ltusername&gt
bitcoind.rpcpass=&ltpassword&gt
bitcoind.zmqpath=tcp://127.0.0.1:28332
autopilot.active=1
externalip=&ltx.x.x.x&gt</pre>

<p>(needless to say, the user/pass and externalip are not literally <em>those</em> values listed).   </p>

<p>The lnd.log, with date and time columns removed for brevity:  </p>

<pre>[INF] LTND: Version 0.4.1-beta commit=
[INF] LTND: Active chain: Bitcoin (network=mainnet)
[INF] CHDB: Checking for schema update: latest_version=0, db_version=0
[INF] RPCS: Generating TLS certificates...
[INF] RPCS: Done generating TLS certificates
[INF] RPCS: password RPC server listening on 127.0.0.1:10009
[INF] RPCS: password gRPC proxy started at 127.0.0.1:8080
[INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create wallet, or `lncli unlock` to unlock already created wallet.
[INF] LNWL: Opened wallet
[INF] LTND: Primary chain is set to: bitcoin
[INF] LTND: Initializing bitcoind backed fee estimator
[INF] LNWL: Opened wallet
[INF] LNWL: Started listening for blocks via ZMQ on tcp://127.0.0.1:28332
[INF] LNWL: The wallet has been unlocked without a time limit
[INF] LTND: LightningWallet opened
[INF] LNWL: Started rescan from block 0000000099c744455f58e6c6e98b671e1bf7f37346bfd4cf5d0274ad8ee660cb (height 10000) for 0 addresses
[INF] LNWL: Starting rescan from block 0000000099c744455f58e6c6e98b671e1bf7f37346bfd4cf5d0274ad8ee660cb
[INF] HSWC: Restoring in-memory circuit state from disk
[INF] HSWC: Payment circuits loaded: num_pending=0, num_open=0
[INF] RPCS: RPC server listening on 127.0.0.1:10009
[INF] RPCS: gRPC proxy started at 127.0.0.1:8080
[INF] LTND: Waiting for chain backend to finish sync, start_height=521042</pre>

<p>The lnd daemon has been sitting at <code>Waiting for chain backend to finish sync, start_height=521042</code> for 20 minutes, no change.  bitcoind now reports it has just received block 521044.</p>

<p>Short of switching to the btcd backend, is there anything I can do to get lnd working?</p>

<hr>

<p><sup>I've asked a <a href="https://bitcoin.stackexchange.com/questions/74709/zeromq-support-in-bitcoin-core-0-16-0-out-of-the-box">separate question about ZeroMQ support in Bitcoin Core 0.16.0</a></sup></p>

<p><sup>I've <a href="https://github.com/lightningnetwork/lnd/issues/1177" rel="nofollow noreferrer">raised an issue</a> with the lnd repo on GitHub.  @Roasbeef (!) replied - it seems my lnd daemon may in fact be running as expected.</sup></p>

CC BY-SA 4.0
2018-05-04T13:37:59.080Z
at 00:35:00 this morning, the lnd console displayed a new message:  `Catching up block hashes to height 20000, this might take a while`.
Hannah Vernon
<bitcoind><lightning-network><lightning-network-daemon>
lightning node daemon hangs at "waiting for chain backend to finish sync, start_height=521042"
Hannah Vernon
# lightning node daemon hangs at "waiting for chain backend to finish sync, start_height=521042"

(Asked by: username_0 on 2018-05-03)

I'm using Lightning Networks' lnd 0.4.1-beta node in Windows, with a Bitcoin Core bitcoind full node backend. The bitcoind full node has the --txindex option, and is fully synced according to bitnodes.earn.com

I've configured bitcoind to use ZMQ, and indeed `netstat -a -b` shows bitcoind is listening on 28332 for ZMQ connections. Bitcoin.conf is configured with:

```
# Generated by https://jlopp.github.io/bitcoin-core-config-generator/

# This config should be placed in following path:
# %UserProfile%\AppData\Roaming\Bitcoin\bitcoin.conf

debug=0
logips=1
printtoconsole=1
txindex=1
zmqpubrawblock=tcp://127.0.0.1:28332
zmqpubrawtx=tcp://127.0.0.1:28332
zmqpubhashblock=tcp://127.0.0.1:28332
zmqpubhashtx=tcp://127.0.0.1:28332

# [wallet]
wallet=wallet1.dat
wallet=wallet2.dat

# [core]
# Specify the location of the configuration file. To use non-default location, create a default location config file containing this setting.
conf=E:\\BitcoinCore
# Specify a non-default location to store blockchain and other data.
datadir=E:\\data
# Set database cache size in megabytes; machines sync faster with a larger cache. Recommend setting as high as possible based upon machine's available RAM.
dbcache=12288
# Keep the transaction memory pool below  megabytess.
maxmempool=3072
# Extra transactions to keep in memory for compact block reconstructions.
blockreconstructionextratxn=512
# Set the number of script verification threads. (1 to CPU_CORES, 0 = automatic, less than 0 = leave that many cores free).
par=0
persistmempool=1

# [network]
listen=1
port=8333
bind=0.0.0.0
listenonion=0
# Maximum per-connection send buffer (KiB).
maxsendbuffer=2000

# [fees]
# fee to use if no fee is specified in outgoing tx
fallbackfee=0.0002
# fees below this amount are considered zero fee
discardfee=0.000025
# allow replace-by-fee for unconfirmed transactions
walletrbf=1
# maximum fee for outgoing transactions
maxtxfee=0.01

# [rpc]
# Accept command line and JSON-RPC commands.
server=1
rpcuser=<username>
rpcpassword=<passwod>
rpcallowip=192.168.0.39
rpcallowip=192.168.0.33
rpcallowip=192.168.0.32
rpcallowip=192.168.0.40

```

lnd.conf has the following

```
debuglevel=debug
logdir=E:\lnd\data\logs
lnddir=E:\lnd
datadir=E:\lnd\data
bitcoin.active=1
bitcoin.mainnet-1
bitcoin.node=bitcoind
bitcoin.chaindir=E:\lnd\data\bitcoin-chain
bitcoind.dir=E:\data
bitcoind.rpchost=localhost
bitcoind.rpcuser=&ltusername&gt
bitcoind.rpcpass=&ltpassword&gt
bitcoind.zmqpath=tcp://127.0.0.1:28332
autopilot.active=1
externalip=&ltx.x.x.x&gt
```

(needless to say, the user/pass and externalip are not literally *those* values listed).

The lnd.log, with date and time columns removed for brevity:

```
[INF] LTND: Version 0.4.1-beta commit=
[INF] LTND: Active chain: Bitcoin (network=mainnet)
[INF] CHDB: Checking for schema update: latest_version=0, db_version=0
[INF] RPCS: Generating TLS certificates...
[INF] RPCS: Done generating TLS certificates
[INF] RPCS: password RPC server listening on 127.0.0.1:10009
[INF] RPCS: password gRPC proxy started at 127.0.0.1:8080
[INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create wallet, or `lncli unlock` to unlock already created wallet.
[INF] LNWL: Opened wallet
[INF] LTND: Primary chain is set to: bitcoin
[INF] LTND: Initializing bitcoind backed fee estimator
[INF] LNWL: Opened wallet
[INF] LNWL: Started listening for blocks via ZMQ on tcp://127.0.0.1:28332
[INF] LNWL: The wallet has been unlocked without a time limit
[INF] LTND: LightningWallet opened
[INF] LNWL: Started rescan from block 0000000099c744455f58e6c6e98b671e1bf7f37346bfd4cf5d0274ad8ee660cb (height 10000) for 0 addresses
[INF] LNWL: Starting rescan from block 0000000099c744455f58e6c6e98b671e1bf7f37346bfd4cf5d0274ad8ee660cb
[INF] HSWC: Restoring in-memory circuit state from disk
[INF] HSWC: Payment circuits loaded: num_pending=0, num_open=0
[INF] RPCS: RPC server listening on 127.0.0.1:10009
[INF] RPCS: gRPC proxy started at 127.0.0.1:8080
[INF] LTND: Waiting for chain backend to finish sync, start_height=521042
```

The lnd daemon has been sitting at `Waiting for chain backend to finish sync, start_height=521042` for 20 minutes, no change. bitcoind now reports it has just received block 521044.

Short of switching to the btcd backend, is there anything I can do to get lnd working?

---

I've asked a [separate question about ZeroMQ support in Bitcoin Core 0.16.0](https://bitcoin.stackexchange.com/questions/74709/zeromq-support-in-bitcoin-core-0-16-0-out-of-the-box)

I've [raised an issue](https://github.com/lightningnetwork/lnd/issues/1177) with the lnd repo on GitHub. @Roasbeef (!) replied - it seems my lnd daemon may in fact be running as expected.

**Tags:** bitcoind, lightning-network, lightning-network-daemon

> **Comments:**
> **username_0**: at 00:35:00 this morning, the lnd console displayed a new message:  `Catching up block hashes to height 20000, this might take a while`.  

---

## 1 answers

### Answer by username_0 on 2018-05-05. Score: 2 | Accepted answer

When running bitcoind and lnd on Windows, ensure you specify `127.0.0.1` instead of `localhost` for the `rpchost` parameter on the lnd command-line, or in the lnd.conf file.

For some, as yet unknown reason, Windows appears to be inserting an artificial wait when resolving `localhost`.

---

I've submitted a [pull request](https://github.com/lightningnetwork/lnd/pull/1195) to the lnd github repo to have the documentation updated to reflect the details above.


---

