Skip to main content

Что такое 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 для платёжной панели. Вы можете применить тот же сценарий в своём приложении.

Как это работает

Идентификатор пользователя — это публичный ключ его Lightning-узла: стабильный, глобальный и находящийся под его полным контролем.

Эндпоинт

Возвращает вызов LNURL. Закодируйте в QR и отобразите в вашем сценарии входа.
После callback от кошелька выполните верификацию через:

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

  1. Разверните эндпоинт LNURL-pay по адресу https://yourdomain.com/.well-known/lnurlp/{username}
  2. Верните стандартный ответ с метаданными LNURL-pay:
  1. Эндпоинт 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. Создайте файл:
Затем выполните регистрацию:
Верифицированные API занимают более высокие позиции в каталоге и отображаются со значком ✓.

Совместимые кошельки