Building the primitive sound money MMO game last weekend really sent me down the rabbit hole of allowing payments and purchases in Bitcoin 24/7 and setting up my channels to receive payments easily and in self-custody. It’s been almost a year since the first Muslim Bitcoin Summit where
@Muslim Bitcoiner really wanted us all to get our nodes connected. That moment finally happened for me yesterday night!
To be honest, lightning is still a very frustrating technology and it feels like you have to have Bitcoin to make Bitcoin, plus have a server that is “always on” both of which are huge hurdles on top of the technical steps that need to be followed. Connecting through Kraken was the real breakthrough for me as I didnt want to pay for short term in-bound liquidity. Setting up a channel with 1M sats and then sending half to my Kraken wallet to then be withdrawn on BTC L1 was a neat hack to allow myself a cheaper channel connected to the world and generate inbound capacity at the same time. Locking up 2M sats for a L connection to LQWD for example would have been pointless. I’d still need to pay someone for inbound channels (if not already in a welcoming community self-hosting Lightning users).
Anyhow with all that resolved, now I still had some vanity problems I wanted to address to kind of future proof this build as I don’t really want to mess around with this for a bit:
1) how can I bring all my Lightning wallets and channels into one place for a portable view usable wherever and whenever
2) how do I ensure there is always a backup just in case my server or connection dies? The backup also needs to be with me at all times
3) how do I make sure we can scale this all up in case I suddenly get popular and need to accept a whole bitcoin or more in payments?
The easiest BTCPayServer installation was actually with LunaNode and somehow that came with a default node manager called Ride The Lightning (RTL). It was easy to use and helped me understand how everything Lightning worked, but it doesn’t quite have Nostr Wallet Connect (NWC) support the way I needed it so I could connect my live node directly to my Nostr app to send and receive zaps. No problem though, because the Zeus Wallet came in super handy and connected nicely with the configurations provided in the BTCPayServer > Server Settings > Services. You have to click on “get info” on each line to actually get why you need though if you want to avoid having to use the LunaNode VNC console where you can’t copy/paste anything from…. rabbit holes… anyway! Problem 1 solved. Meanwhile I’ve moved off of custodial wallets now (lots of appreciation for Adam and prior tips he’s provided though) except for Nostr and zap use. I’ve just included the custodial ones in Zues as well for a clean view and easy top up and off-load.
With all that, I gained a strong appreciation of Alby Hub. I despised it before because it ate up all the channels I paid for every time I shut off my laptop, but after going through custom settings and putting my own Bitcoin into a channel, I was no longer subject to that breakage and fees problem. My laptop channel restored easily to my LunaNode! My laptop now serves as a great back up just in case the live server doesn’t work. It doesn’t have to be on all the time like the server, but it’s always ready to go just in case. Problem 2 solved! In future if when I do have to revisit this whole setup, I’m replacing RTL with Alby I think.
Now for the final scale up virality problem, Zues offered one more solution there with their “Just-in-Time” (JIT) liquidity provisioning services. This one cost 9K sats and also offers a secondary LNURL-pay address where I can receive payments offline for 24 hours as well.
Anything else to learn? Watchtowers… nah, outsource that shit. The End. Thanks for coming to me TED Talk.