I have been trying to connect to my btcd backend on an external server but when I run:

lnd --bitcoin.active \
    --bitcoin.mainnet \
    --debuglevel debug \
    --btcd.rpcuser myuser \
    --btcd.rpcpass mypass \
    --externalip X.X.X.X:xxxx \

I have also tried including --btcd.rpchost=X.X.X.X:xxxx in the command above

I am faced with this output:

2018-07-30 18:04:13.863 [INF] LTND: Version 0.4.2-beta commit=
2018-07-30 18:04:13.863 [INF] LTND: Active chain: Bitcoin (network=mainnet)

Sometimes I would get more output and would be prompted to input the password for my wallet yeilding me an input that looks like this:

2018-07-30 18:31:52.781 [INF] LTND: Version 0.4.2-beta commit=
2018-07-30 18:31:52.781 [INF] LTND: Active chain: Bitcoin (network=mainnet)
2018-07-30 18:31:52.781 [INF] CHDB: Checking for schema update: latest_version=3, db_version=3
2018-07-30 18:31:52.796 [INF] RPCS: password RPC server listening on
2018-07-30 18:31:52.796 [INF] RPCS: password gRPC proxy started at
2018-07-30 18:31:52.796 [INF] LTND: Waiting for wallet encryption password. Use `lncli create` to create a wallet, `lncli unlock` to unlock an existing wallet, or `lncli changepassword` to change the password of an existing wallet and unlock it.
2018-07-30 18:31:58.391 [INF] LNWL: Opened wallet
2018-07-30 18:31:58.450 [INF] LTND: Primary chain is set to: bitcoin
2018-07-30 18:31:58.453 [INF] LTND: Initializing btcd backed fee estimator

After around 20 minutes the connection would time out and LND would give me this:

unable to create chain control: dial tcp connect: connection refused

I have verified that the credentials in btcd.conf and btcctl.conf on my external server are the same

My server is definitely running because I can call the btcd server with this command:

btcctl -u myuser -P mypass -s X.X.X.X:xxxx getpeerinfo --rpccert=rpc.cert

Also, btcd isn't giving me any authentication errors when I'm trying to connect to it to LND. It probably doesn't even know my daemon exists.

Does anyone know why I can't connect to my server?


I also run btcd/lnd. First you need to confirm your btcd port is up in address mentioned.

netstat -an | grep port

On the lnd node see if you can connect to the port telnet xxx.xxx.xxx.xxx xxxx

Change your btcd to debug mode in btcd.conf. You will see in btcd log if lnd is able to reach and what are the errors. Make sure also this is not a firewall issue, you would need to create a rule for that port.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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