Replying to Avatar Jack Winters

I've had quite a week. I'm on standby at my job with literally nothing that needs doing, so I've been spending my time getting set up to use lightning. (We won't mention that to my boss unless our company wants to start using lightning too!) And wow, have I been through a lot.

I have a Start 9 Embassy which did the heavy lifting for me. This thing is fantastic in terms of what it can do and making it easy, but as I work with it, I'm left with a constant question: "Am I doing this right?" I ran into cases where restarting a service didn't solve the issue, but restarting it a second time did. It's been that kind of week.

Setting up a Nostr relay last week was pretty straightforward. The most troubleshooting I had to do was making sure the relay address was spelled correctly. The "56 character string of random nonsense" address. I only got it wrong once!

Lightning was a little more tricky. I run a Raspberry Pi with an archival bitcoin node separate from my Embassy. I tried to figure if I could use Bitcoin Proxy to connect to it, but it seems automatically configured to link to Bitcoin Core on the same device. I wondered if I could transfer my node's external drive to the Embassy, but it doesn't play nicely with external drives and only expects to use them for backups. So in the end, I sighed and started Bitcoin Core for a pruned node on the Embassy. I really hoped to avoid that initial block download a second time, but what can you do?

Once that was ready, installing and starting LND was also straightforward (other than taking a few hours to sync the graph), but it's hard to tell if that's working without an interface. I installed Thunderhub and Lightning Terminal next to connect to it and see what I could see. This is where I ran into technical trouble involving restarting services multiple times--LND runs smoothly most of the time, but it hiccups now and then and needs a restart. When LND doesn't work, the front ends can't do much!

Following some instructions, I opened a channel with Start 9's lightning node. I imagine I'm paying high fees using this one (their fee is 1000 ppm), but it's a start and I'm learning. I figured I'd send some sats to an app on my phone so I'd be ready for the conference in Miami next week and have some inbound liquidity on my channel. Two birds with one stone!

I had Muun wallet already, and I tried getting an invoice from it to pay from Thunderhub. I got some kind of error about a null parameter, and I assumed it was because the destination was marked as "unknown" (it wasn't). I tried downloading Phoenix wallet and made another invoice. Same problem. After some poking around, I tried to transfer some BTC back to the main chain. Same problem. I tried to close the channel. Same problem.

That's about when I realized Thunderhub was the piece that was being finicky. I installed Ride The Lightning and tried my invoice from Phoenix wallet again. This time it worked without a hitch, and I have my sats right where I want them now!

With that in place, next comes integrating with Damus. It asked for an LNUrl, or a Lightning Address. What are these, I wonder? A bit of searching, and they make a lot of sense--a reusable way to pay a lightning wallet without explicitly making an invoice each time. But how do I do this? Thunderhub is working to decode my test invoices, but I don't see a function to create one of these...

A day of searching, and I come across BTCPay Server on my Embassy. I had heard people talk about services like this and might have even thought "I should set that up," but never touched it yet. My goodness, what have I been waiting for? Having a service which can get fresh payment addresses and create a lightning address is a beautiful thing to have, and all the more from a machine in my basement! In fact, having all of this put together and running on a machine at home feels good, good, so very good.

I had my doubts several times throughout the week, and each night I was on the verge of giving up. I know my way around programming languages, but I'm not exactly a veteran at using the command line or compiling binaries, so I don't think I could have pulled this off without the Embassy being what it is. Issues and all, I'm really happy with this machine, and I'm happy to have all these services up and running.

For now it's just the steps necessary to have lightning enabled over Nostr, but this means I've done the hard part laying the groundwork for the future too. With lightning and BTCPay set up, I can set up taking payments for anything that seems appropriate as time goes on. Having my options open is important to me, and I feel like I can do powerful things after this week of set up.

But I'm a bit exhausted for now, so we'll wait to start thinking about that until after the conference next week. Hope to see some of you there!

What is benefit of BTCpay?

I’m running RTL on my embassy

Reply to this note

Please Login to reply.

Discussion

BTCPay is meant to be a tool for an online storefront. For bitcoin addresses, it's good practice to use a different address for each transaction you receive. With lightning, you need an invoice for each transaction you want to receive (for the most part). BTCPay has functions where you can create a link or a button to embed on a webpage, and it will serve the new addresses and invoices seamlessly for your users.