Как дождаться оплаты одного Lightning-заказа без опроса всех счетов

Если воркер знает метку счёта, он может ждать именно этот счёт. Разрыв соединения не должен лишать приложение возможности восстановить состояние заказа.

Запустите ожидание по метке

Запишите в LABEL метку существующего локального счёта. waitinvoice немедленно возвращает уже оплаченную запись, а для активного счёта ждёт оплаты или окончания срока.

lightning-cli waitinvoice "$LABEL" | jq '{label, status, payment_hash, amount_received_msat, paid_at}'

Сохраните принятую сумму

При успехе запишите хеш платежа и amount_received_msat в заказ. Истечение срока приходит как ошибка RPC, поэтому перед сменой статуса проверьте счёт отдельным чтением. Транспортный тайм-аут лишь прерывает наблюдение: продолжить можно по той же метке.

docs.corelightning.org waitinvoice · docs.corelightning.org listinvoices