Replying to Avatar Gregor

nostr:npub18m76awca3y37hkvuneavuw6pjj4525fw90necxmadrvjg0sdy6qsngq955 nostr:npub1zafcms4xya5ap9zr7xxr0jlrtrattwlesytn2s42030lzu0dwlzqpd26k5 Where lies the challenge in implementing this:

https://github.com/damus-io/damus/issues/683 , why does BOLT12 have no priority on the roadmap?

Just allow any address string, why filter at all? Leave formatting checks to the wallets.

we could implement it but it wouldn't have zaps, as there is no spec for that yet. the only usecase I can see is profile tipping with no-zap? That's not a huge priority for us.

One thing we could do is make a spec for adding a bolt12 to your profile, but we would still need some code that connects to the lightning network and fetches a bolt12 invoice from a bolt12 offer.

This is a nontrivial amount of work for a feature most people won't use, not to mention passing bolt12 invoices for payment wouldn't work for most wallets yet, or even any NWC wallet.

Reply to this note

Please Login to reply.

Discussion

I guess you could just pass the offer to a lightning wallet and let them handle it, what wallets currently support paying bolt12 offers, just phoenix ?

I only know of Phoenix for now, at least on iOS. I imagined a first implementation exactly like that, just pass off the offer.

I just think creators want to get paid, but some also really need to protect their privacy, and the current system puts them at an impasse, especially technical newcomers.

How does fetching an invoice from a BOLT12 offer differ from fetching an invoice from a lightning address?

If you could fetch the invoice, what else would you need to create a Zap?

fetching an invoice from a lightning address is a simple HTTPS call, fetching an invoice from an offer requires you to connect to a lightning node directly.

luckily I have a library that does just that: https://github.com/jb55/lnsocket

but to do onion routing is non-trivial, so you would only be able to fetch direct-hop invoices atm.

I see, that evidently makes it considerably more challenging. I appreciate you taking the time to explain, thanks.

Do you generally see BOLT12 as a practical way to transition Zaps to non custodial transactions, or do you find it too complex for the purpose?

The main thing it does is reduce the burden on running an http server in conjunction with your lightning node. I would argue running an http server is the least hard thing, running a lightning node itself is more complex, but things like phoenix make running an ln node easy, so it may be worth switching to it.