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.
Catching up block hashes to height 20000, this might take a while
.