Как вычислить срок действия BOLT11-счёта перед оплатой

В Lightning-счёте записаны время создания и срок действия в секундах. Платёжная форма может вычислить абсолютное время истечения до запроса маршрута.

Прочитайте поля подписанного счёта

В BOLT11 поместите закодированный счёт. Декодируйте его на ноде нужной сети, проверьте тип и признак корректности и затем читайте поля BOLT11.

lightning-cli decode "$BOLT11" | jq '{type, valid, currency, created_at, expiry, deadline: (.created_at + .expiry)}'

Вычислите оставшееся время

Если счёт создан в Unix-время 1 700 000 000, а срок равен 900 секундам, он истекает в 1 700 000 900. Сравните результат с точными часами и оставьте время на поиск маршрута. Корректная подпись и неистёкший срок ничего не говорят о доступности получателя.

docs.corelightning.org decode