eclair-mobile
eclair-mobile copied to clipboard
Auto-closed channel to my own LN node
I run a LN node using Eclair on PC, connected with a handful of channels. Yesterday I downloaded Eclair mobile wallet for android, funded it, and then set up a payment channel with my own node on PC. The mobile wallet showed LN balance and an on-chain balance of what I didn't put in the payment channel (as expected). Today I open mobile wallet for first time today, and LN balance is 0, all funds are showing up under on-chain BTC. Tx list shows a 0 confirmation Tx migrating all my payment channel funds back on-chain. Checking main Eclair LN node on PC shows that my payment channel with my phone is "CLOSING". I did not wish for the channel to be closed, and am wasting Tx fees as I try and learn LN, opening and closing channels excessively due to anomalies like this.
LN Node (on PC) URI: 02065e25c272203440b66ea0ba66601d1248564554d0a68472b82511af54288120@71.225.72.81:9735
Remote node ID (phone): 03d3fdd1336f220a9f597a323971cdb297f8282fce42d1072860574e90a44b6653
Funding TxID (opening mobile wallet's channel): 7a4a76103df41ecdc0ad86e688e37b9823d2c504baa507e5d9f36761ebd7df6c
Closing Tx ID (automatic closing of channel against my will): 1f213f9c3feb1afdb973047f354a234989dc22a83ad04def59dd5a9be688cfa0
Thanks for any help - I am no dev or programmer.
Hello, can you paste your eclair.log
file (to pastebin or something similar) ?
Your log file will be in your eclair directory, which by default is ~/.eclair on linux and c:\Users\YOUR_USER_NAME.eclair on windows
wow the log file is over 200MB - is that normal? Still trying to get it on pastebin but both notepad and pastebin aren't being responsive with such a large file
Can you just paste the logs for the last 2 days ?
No idea if I did this correctly - the log was so massive that I could only paste a few random lines to stay below the 500kb pastebin limit. The log is recording events several times a second nonstop and so I will unfortunately probably not be able to provide you any useful log info... On the bright side I set up a new channel to my same LN node after this one closed and I was able to buy those Blockstream stickers, FWIW. Below is the pastebin: https://pastebin.com/raw/9p5gFBj0
You can check for error that look like peer sent error: ascii='local/remote feerates are too different: remoteFeeratePerKw=848 localFeeratePerKw=12031'
We've released our beta6 that should prevent channels from getting closed when peers disagree on fee estimations in most cases. And we now ship a default logging configuration with a rolling policy (one log file per day).
Excellent - I like the broken-up log files and so far my 2nd payment channel (that I set up when I originally posted this issue) has not disconnected yet.
I can't believe it - but it just disconnected in a force close. The error was the "local/remote feerates are too different" issue. I am running beta6 Eclair node and latest eclair mobile wallet from the Google Play store (although technically the payment channel was created a day before I updated from beta 5 to 6).
All of my outbound channels from my LN node are set to a firm 1satoshi/byte, but I am not sure what the mobile wallet is doing when I create the payment channel from my mobile wallet to my LN node. I use "slowest/lowest fee" setting when funding the payment channel to my node, but I assume that is simply to determine the Tx fee of the on-chain initial funding. I assume the payment channel from my mobile wallet to my LN node is Txfee-free once it's set up.
Since this channel was created prior to beta6 release I will reopen later today when the BTC mempool clears, and hope for the best.
Add this to your eclair.conf:
eclair.max-feerate-mismatch=100000 // basically we accept everything
it won't solve the issue but will remove the symptoms
What was the full error message?
In mobile wallet, upon clicking on the closed channel to get details, under "Cause of closing" it says "local/remote feerates are too different: remoteFeeratePerKw=792 localFeeratePerKw=5589" (see screenshot).
Also FWIW, it incorrectly states that the channel was opened Sept28th at 8:15am (which roughly corresponds to the time I tried to make a purchase, however the funding Tx for that channel happened on Sept25th and the channel has been open since, until about 1pm EST today.)
There is a huge difference in estimates, which is interesting.
Can you attach the relevant eclair logs?
If you look at the BTC mempool around 9am EST (maybe 40 minutes after my initial purchase attempt but long before the ultimate closing of the channel around 1pmEST) there is a massive spike which could have caused significant changes to the average Tx fee, if that's what you mean. https://jochen-hoenicke.de/queue/#0,24h
What is your timezone?
EST (Eastern Standard)
Oops - I just Googled my own time and it's "technically" EDT right now (Eastern Daylight Time). Whatever New York City is...
there is a massive spike which could have caused significant changes to the average Tx fee, if that's what you mean
Exactly.
long before the ultimate closing of the channel around 1pmEST
No, the channel closing got initiated at 10pmEDT, when the fee spiked:
2018-09-28 09:53:02,559 ERROR f.a.e.channel.Channel n:03d3fdd1336f220a9f597a323971cdb297f8282fce42d1072860574e90a44b6653 c:68d3d973df0da020e5f91f337fdb26c476db736cb9b455592b9c1ea5d8658e06 - local/remote feerates are too different: remoteFeeratePerKw=792 localFeeratePerKw=5589 while processing msg=CurrentFeerates in state=NORMAL
So you basically turned on eclair wallet at the worst possible moment, but we still need to handle fee varations of that amplitude @sstone
Wow - well kudos to you for actually figuring that out, haha. I have been having significant trouble getting successful payments in either mobile wallet or direct from LN node and I'm hoping that this was the underlying issue for all of them. Technically, so far the only successful payment I've had was for those Blockstream stickers, and for that I created a direct payment channel to their node which isn't "really" the full LN experience since routing is not involved. I've added that above line to the config file and am running latest instances of everything and so I'll reopen a channel from mobile to my node and see how it goes.
My Eclair Mobile automatically closed a channel to the ACINQ node on 4.10.2019 (October) for exactly the same reason. remoteFeeratePerKw=10500 localFeeratePerKw=1241 It was an inbound channel so I got to pay for liquidity again. Would be nice if we can set the max-feerate-mismatch on the mobile wallet too. Or it should ask before closing a channel. Please also fix the channel opened time value on the Channel Details screen.
@dpad85 we could indeed add a setting to set the tolerance to fee mismatches (e.g. low/medium/high). @kozo-cz how about submitting a PR?
@STAWKEYE your setup is different: your mobile is the funder, so it chooses the feerate, and you can configure your node to be tolerant. In @kozo-cz's case the funder is the node, so we would have to tell eclair mobile to be tolerant. It's the other way around.
Oh, my mistake - I see now. Deleted to avoid confusion.