A few weeks back Core Lightning had some type of error and would not run. I saw many, including you @paul , mention/respond to this in the Start9 forums.
Question: What external dependencies does Core Lightning have that would effect a sovereign node like that?
That is an excellent question. In that case, the issue was specifically with the UI (“CLN Application”) and not with the node itself. So you could still receive payments (and send too, as long as you used a different UI connected to your node, such as Zeus) They had made an assumption that the API they were using for converting between fiat and BTC would never be offline.
Devs tend to try and plan for failures, so I suspect these types of scenarios are rare, but there could well me more of them lurking in the code that nobody has noticed yet. Since we don’t know what we don’t know, I can address your question from a slightly different perspective – what steps can you take to remain sovereign and maintain access to your node, which cover a wide variety of possible failure modes. Here are some ideas for that:
Run your own instance of Bitcoin Knots as a full node.
Periodically collect a list of random peers that you can manually connect to if various infrastructures go down (a mixture of both Tor and clearnet peers). Some of the infrastructure required for a freshly-installed Lightning node to connect to the network includes:
– Node indexes (1ML, etc)
– DNS servers
– Hard-coded seed peers
Treat CLN Application UI, RTL, Spark, etc. as pure convenience layers. Learn and practice how to perform all critical tasks via lightning-cli, in case the UI fails:
– node info
– add funds to base layer wallet
– peer/channel management
– invoice generation
– sending payments
Take note of any swap/liquidity services you use (e.g., Boltz). Learn how and practice connecting to them over both clearnet and over Tor. Expect liquidity automations to break (such as CLBOSS) if these services go down.
Consider multiple independent watchtowers, or coordinate with familty or friends in another geolocation to connect as each-others’ watchtowers.
Yep. I did notice the node was running even though I could load the UI. Its just strange that it fixed itself…which points to an external dependency. I will educate my self more on the workings of CL.
As for your other suggestion…1000% agree with all of it and yes I should teach my old mind new tricks especially lightning-cli.
Question on a watchtower if I may: I’d like to setup one up on my Pure Server and point the Server One LND at it for a watchtower…the question…how large of a channel would one need for a watchtower…would PaulsLND be sufficient or should it be a much larger 100000k+ channel?
ps - becoming your own “banker with solid infrastructure” is much more entailed then I realized. Doable - yes…detailed - yes. Worth it -
Yes, the UI was dependent on an API (I don’t recall the specific one off hand) for getting the current exchange rate between fiat and BTC. The code was apparently never tested for if this API was unreachable, so when it went down, it broke the UI.
A watchtower actually isn’t a Lightning peer you open a channel with. It’s just a service your node talks to over the network to upload encrypted “justice” blobs. These allow the watchtower to be able to identfy (when your node may be offline) that a counterparty has tried to cheat you. In that scenario, the watchtower broadcasts a penalty transaction on-chain. The funds and on-chain fees for that penalty transaction come from your existing Lightning channel with the cheating peer, not from any channel to the watchtower.
So there is no required channel size for a watchtower. In fact, you don’t need a channel to the watchtower at all.
Gotcha. I setup LND on the Pure Server and then configured Server One LND app for the watchtower address on Pure then checked to make sure it’s working:
Note: The Pure LND cannot be found on 1ml yet so not 100% sure about that. I assume the Pure LND needs a peer?..or maybe just wait a while. or maybe it just don’t matter since Server One can see the watchtower on Pure Server??
** Just testing here with the 2 nodes I have local…if its workable I am going give one to my son and have him run it for me. I know for it to be true watchtower it has to have independent power and internet access( geographical location).