Что такое LNURL?
LNURL — это набор открытых стандартов, построенных поверх Lightning Network. Вместо того чтобы напрямую использовать в приложении необработанные Lightning-инвойсы или публичные ключи узлов, LNURL определяет удобные для пользователя протоколы на основе URL, которые умеют обрабатывать кошельки. Когда кошелёк сканирует QR-код LNURL, он декодирует URL, получает JSON-ответ от вашего сервера и выполняет соответствующее действие (подписывает вызов, запрашивает платёжный запрос и т. д.) — всё это незаметно для пользователя. l402-kit поставляется с двумя функциями LNURL из коробки:
Оба протокола работают во всех основных Lightning-кошельках (Phoenix, Blink, Zeus, Breez, Alby) и не требуют дополнительных зависимостей — вашему серверу нужно лишь обслуживать JSON-эндпоинт и при необходимости верифицировать подпись secp256k1.
LNURL-auth — вход без пароля
l402-kit.com использует LNURL-auth для платёжной панели. Вы можете применить тот же сценарий в своём приложении.Как это работает
Эндпоинт
TypeScript — верификация подписи LNURL-auth
LNURL-auth не требует email, пароля и OAuth. Идентификатор пользователя — это его Lightning pubkey: переносимый между кошельками, защищённый от цензуры и глобально уникальный.
LNURL-pay — Lightning Address
Lightning Address (you@domain.com) — это понятный человеку псевдоним, который разрешается в эндпоинт LNURL-pay. l402-kit предоставляет его по адресу:
ownerAddress: "you@blink.sv", Worker разрешает blink.sv/.well-known/lnurlp/you, чтобы получить BOLT11-инвойс.
Как настроить собственный Lightning Address
- Разверните эндпоинт LNURL-pay по адресу
https://yourdomain.com/.well-known/lnurlp/{username} - Верните стандартный ответ с метаданными LNURL-pay:
- Эндпоинт
callbackполучает?amount=<msats>и возвращает:
Самостоятельный хостинг с BTCPay Server
BTCPay Server поставляется со встроенной поддержкой LNURL-pay — просто включите её в настройках магазина. Ваш Lightning Address становитсяyou@yourbtcpay.com.
Верификация владения для каталога API
Когда вы регистрируете свой API черезPOST /api/register, l402-kit автоматически проверяет наличие файла /.well-known/l402.txt на домене вашего API. Если файл найден и содержит ваш Lightning Address, ваша запись получает значок verified.
Создайте файл: