dgarage / NBXplorer

NBitcoin Explorer
MIT License
320 stars 210 forks source link

BTC: NBXplorer could not complete the handshake with the remote node. #154

Closed adiadore closed 5 years ago

adiadore commented 5 years ago

Hello, so im running bitcoind & lnd on raspberry#1(192.168.1.177) und btcpayserver on raspberry#2(192.168.1.178) locally on the same network and followed this guide https://goo.gl/KnTzLu isolated they run fine but when i try to use raspb#1 as backend for raspb#2 im kinda stuck now

bitcoind configuration

mainnet/testnet

testnet=0

Bitcoind options

server=1 daemon=1 txindex=1 disablewallet=0 addresstype=p2sh-segwit

Connection settings

rpcuser=raspibolt rpcpassword=xxx rpcport=8332 rpcallowip=127.0.0.1 rpcallowip=192.168.1.0/24 rpcallowip=192.168.1.178/255.255.255.0 whitelist=192.168.1.178

rpcbind=127.0.0.1:8332

zmqpubrawblock=tcp://127.0.0.1:28332 zmqpubrawtx=tcp://127.0.0.1:28333

Raspberry Pi optimizations

dbcache=100 maxorphantx=10 maxmempool=50 maxconnections=20 maxuploadtarget=1

datadir=/mnt/hdd/bitcoin

starts fine but then.. any idea what i'm missing? I feel like i tried like every combination of whitelist, rpcallowip

info: Configuration: BTC: Testing RPC connection to http://192.168.1.177:8332/ info: Configuration: BTC: RPC connection successfull info: Configuration: BTC: Full node version detected: 170001 info: Configuration: BTC: Loading chain from node (192.168.1.177:8332)... info: Explorer: BTC: TCP Connection succeed, handshaking... warn: Explorer: BTC: NBXplorer could not complete the handshake with the remote node. This is probably because NBXplorer is not whitelisted by your node. You can use "whitebind" or "whitelist" in your node configuration. (typically whitelist=127.0.0.1 if NBXplorer and the node are on the same machine.) This issue can also happen because NBXplorer do not manage to connect to the P2P port of your node at all. warn: Explorer: BTC: The initial hanshake failed, your NBXplorer server might not be whitelisted by your node, if your bitcoin node is on the same machine as NBXplorer, you should add "whitelist=127.0.0.1" to the configuration file of your node. (Or use whitebind) fail: Configuration: BTC: Unhandled in Waiter loop System.OperationCanceledException: Loading the chain from the node timed out ---> System.OperationCanceledException: The operation was canceled. at System.Collections.Concurrent.BlockingCollection1.TryTakeWithNoTimeValidation(T& item, Int32 millisecondsTimeout, CancellationToken cancellationToken, CancellationTokenSource combinedTokenSource) at System.Collections.Concurrent.BlockingCollection1.TryTake(T& item, Int32 millisecondsTimeout, CancellationToken cancellationToken) at System.Collections.Concurrent.BlockingCollection1.Take(CancellationToken cancellationToken) at NBitcoin.Protocol.PollMessageListener1.ReceiveMessage(CancellationToken cancellationToken) at NBitcoin.Protocol.NodeListener.ReceivePayload[TPayload](CancellationToken cancellationToken) at NBitcoin.Protocol.Node.VersionHandshake(NodeRequirement requirements, CancellationToken cancellationToken) at NBXplorer.BitcoinDWaiter.LoadChainFromNode(CancellationToken cancellation) at NBXplorer.BitcoinDWaiter.ConnectToBitcoinD(CancellationToken cancellation) in /root/NBXplorer/NBXplorer/BitcoinDWaiter.cs:line 372 --- End of inner exception stack trace --- at NBXplorer.BitcoinDWaiter.ConnectToBitcoinD(CancellationToken cancellation) in /root/NBXplorer/NBXplorer/BitcoinDWaiter.cs:line 376 at NBXplorer.BitcoinDWaiter.StepAsync(CancellationToken token) in /root/NBXplorer/NBXplorer/BitcoinDWaiter.cs:line 283 at NBXplorer.BitcoinDWaiter.StartLoop(CancellationToken token, AutoResetEvent tick) in /root/NBXplorer/NBXplorer/BitcoinDWaiter.cs:line 197

NicolasDorier commented 5 years ago

Are you fully synched?

NicolasDorier commented 5 years ago

Your RPC connection is correctly setup. I bet on your not being fully synched.

adiadore commented 5 years ago

you mean on raspberry#1? i am https://i.imgur.com/EqxtLdV.jpg

NicolasDorier commented 5 years ago

I don't know, your node 192.168.1.177 is it fully synched?

NicolasDorier commented 5 years ago

ah sorry yes you are

NicolasDorier commented 5 years ago

I think you can remove rpcallowip=192.168.1.178/255.255.255.0 because RPC connection successfull.

NicolasDorier commented 5 years ago

Ah your problem is Loading chain from node (192.168.1.177:8332)... this is not RPC here

NicolasDorier commented 5 years ago

--btcnodeendpoint 192.168.1.177:8333 and add port 8333 to the firewall

adiadore commented 5 years ago

of course that was the problem, --btcnodeendpoint 192.168.1.177 is enough, dont even needs the port i guess

thank you

vincentyycheung commented 5 years ago

HI adiadore, I want to run a btcpay server on AWS, with a BTC&LND full node build by raspiblitz. Can you show more details how to setup the NBxplorer and btcpay server. My BTCpay server show:NBxplorer BTC: NotConnected =>Syncing. Is that right or not? but my node full synced. I think my full-synced node should connect with btcpay server, which is no need to sync again. How you make your btcpay server running with a settled raspiblitz raspiberrypi ?

vincentyycheung commented 5 years ago

info: Configuration: BTC: Explorer url is http://127.0.0.1:24445/ info: Configuration: BTC: Cookie file is /home/vincent/.nbxplorer/Main/.cookie info: PayServer: Starting listening NBXplorer (BTC) info: PayServer: Start watching invoices info: PayServer: Starting payment request expiration watcher info: Configuration: Listening on http://0.0.0.0:23001 info: PayServer: 0 pending payment requests being checked since last run info: Events: NBXplorer BTC: NotConnected => Synching

btcpay and nbxplorer

NicolasDorier commented 5 years ago

@vincentyycheung Can you can try docker restart generated_nbxplorer_1?

NicolasDorier commented 5 years ago

What show the main page?