0

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=<username>
bitcoind.rpcpass=<password>
bitcoind.zmqpath=tcp://127.0.0.1:28332
autopilot.active=1
externalip=<x.x.x.x>

(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

I've raised an issue with the lnd repo on GitHub. @Roasbeef (!) replied - it seems my lnd daemon may in fact be running as expected.

1
  • 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
    May 4, 2018 at 13:37

1 Answer 1

1

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 to the lnd github repo to have the documentation updated to reflect the details above.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.