Ошибка no route в Lightning возможна при положительном балансе: сумма в кошельке ещё не означает, что для этого получателя найден подходящий путь платежа. Имеют значение доступные исходящие средства, промежуточные каналы, сторона получателя и ограничения самого счёта. Сначала убедитесь, что предыдущая попытка завершилась отказом, а не осталась в неопределённом состоянии. Затем проверяйте условия, вместо того чтобы сразу пополнять кошелёк.
Начните с отклонённого платежа, а не с общей суммы
Сохраните точный текст ошибки и состояние всей операции: failed, pending или successful. Одна попытка провести платёж по определённому пути и итог всего платежа — разные вещи: программа может искать несколько маршрутов. Если приложение потеряло соединение, старое уведомление не доказывает окончательный результат. Откройте сохранённую операцию, обновите её состояние и только после выяснения результата обсуждайте новый счёт.
Уточните, что обозначает баланс. В одном приложении могут соседствовать обычный Bitcoin-кошелёк и средства, доступные через Lightning. У сервиса с хранением средств может быть собственный доступный остаток и ограничения аккаунта, без показа каналов клиенту. У кошелька с вашими каналами отдельно учитываются локальная сумма и возможность отправки. Инструкции для администратора узла не подходят автоматически пользователю, который своими каналами не управляет.
Здесь разбирается именно проверка после ошибки маршрутизации. Определения входящей и исходящей стороны уже есть в материале о ликвидности каналов. Для конкретной неисправности важнее установить, какое условие не выполнено и кто может на него повлиять, чем ещё раз перечитать общее описание устройства сети.
Сначала сопоставьте наблюдение с проверяемой причиной
| Что видно | Какой вывод допустим | Что проверить дальше |
|---|---|---|
| BTC показаны только в обычном ончейн-кошельке | Биткоины есть, но возможность отправить их через Lightning ещё не установлена | Какой аккаунт выбран для оплаты инвойса |
| Общая сумма канала больше счёта, доступная к отправке — меньше | Возможно ограничение на стороне отправителя | Доступный исходящий остаток, резервы и состояние канала |
| Исходящие средства доступны, сбой только у одного получателя | Препятствие может быть дальше по пути или на стороне получателя | Доступность получающего кошелька и новый инвойс |
| Приложение прямо указывает на лимит комиссии | Для выбранного пути не хватило разрешённого бюджета | Установленный предел и доступный предварительный расчёт |
| Инвойс истёк или не разбирается кошельком | Нужно разобраться с платёжным запросом | Получить замену у исходного получателя |
| Операция остаётся pending либо результат неизвестен | Создавать отдельный новый платёж преждевременно | Выяснить результат существующей операции |
Средняя колонка помогает выбрать направление проверки, но не ставит диагноз по одному скриншоту. Правильный инвойс не доказывает, что кошелёк получателя сейчас доступен. Повышенный лимит комиссии не показывает, есть ли необходимые средства на промежуточном участке. Фиксируйте отдельные наблюдения, чтобы после успешной попытки понимать причину, а не приписывать результат последнему случайному изменению настроек.
Исходящие средства должны проходить дальше первого канала
В руководстве Lightning Labs по ликвидности разделяются возможность отправки и возможность приёма. Средства на другой стороне вашего канала помогают получать через него, но не заменяют деньги на вашей исходящей стороне. Резервы и уже принятые обязательства также могут уменьшать доступную сумму относительно общего остатка. Смотрите показатель, который кошелёк считает доступным для отправки, без расчёта универсального процента резерва наугад.
Первым каналом маршрут не заканчивается. Соседний узел должен быть доступен, а последующие участки — пропускать нужную сумму в нужном направлении. Простое пополнение своего кошелька само по себе не исправит недоступность узла получателя и не обеспечит чужой участок средствами. Если отказ касается только одного адресата, попросите его проверить принимающую сторону, прежде чем объявлять неисправной всю сеть.
Важна и распределённость средств. Lightning Labs описывает многомаршрутный платёж: совместимая программа может провести части одного платежа разными путями. Это помогает в определённых ситуациях, но не гарантирует путь для произвольной суммы. Учитываются возможности кошелька и признаки поддержки в инвойсе. Не пытайтесь воспроизвести механизм самостоятельной оплатой фиксированного счёта несколькими независимыми переводами без согласия получателя.
Инвойс задаёт условия, которым платёж должен соответствовать
Для запроса BOLT11 проверьте сеть, сумму и срок действия в расшифрованном представлении кошелька. Спецификация BOLT11 описывает эти поля и подсказки маршрутизации. Подсказка содержит информацию о достижении получателя, однако не гарантирует, что указанные каналы прямо сейчас пригодны для отправки. Старый скриншот QR-кода поэтому не заменяет актуальный запрос, полученный непосредственно от адресата.
Если срок действия закончился, попросите выставить новый счёт и сравните показанные сумму и контекст получателя с исходной договорённостью. Не меняйте символы закодированного инвойса ради продления срока или подгонки суммы под остаток. Если сумма не задана, отдельно согласуйте вводимое значение. У других форматов запросов собственные правила: описанные проверки BOLT11 не являются универсальным описанием любого Lightning-адреса или предложения.
Когда непонятно, выдан вам инвойс или обычный адрес Bitcoin, сначала прочитайте сравнение двух форматов. Изменение маршрутизации не делает неподдерживаемый формат назначения подходящим для формы отправки. Это отдельная проблема, которую нужно разрешить до повторной попытки, а не обходить случайными настройками комиссии.
Ограничение комиссии управляет бюджетом, а не чужой ликвидностью
Кошелёк может не согласиться на путь, если сборы превышают разрешённый вами предел. В объяснении комиссий маршрутизации Lightning Labs выделяются базовая и пропорциональная части. Это другой расход, чем комиссия майнерам за ончейн-транзакцию. Сравнивайте предложенный сбор с вашим бюджетом: сам отказ ещё не повод снимать ограничение или разрешать программе любую стоимость отправки.
Протокольная причина бывает точнее короткого сообщения интерфейса. В BOLT4 различаются временная неисправность канала и недостаточная комиссия пересылки, наряду с другими условиями. Это полезно, если поддержка видит исходную ошибку. Однако из надписи no route нельзя автоматически заключать, что дело в комиссии или что получатель сознательно отклонил перевод. Повышение потолка разрешает больше потратить, но не создаёт средства на удалённых каналах.
Повторяйте после конкретного изменения, а не по кругу
- Обновите запись существующего платежа и установите окончательный отказ до создания отдельного нового перевода.
- Проверьте выбранный аккаунт и его доступные исходящие средства с учётом суммы и разрешённых расходов.
- Сверьте актуальный запрос получателя, сеть, сумму и срок, не редактируя закодированные данные.
- Если явно указано ограничение комиссии, оцените конкретное предложение в рамках своего бюджета. В остальных случаях не считайте повышение лимита универсальным лечением.
- После изменения установленного условия сделайте осознанную повторную попытку. Если проблема сохраняется, передайте собранные сведения ответственной стороне.
Условный пример: у Мины биткоины отображаются в двух разделах приложения. Для неудавшейся оплаты выбран Lightning-аккаунт, где недостаточно доступной исходящей суммы. Она разбирается с выбором аккаунта средствами своего кошелька. У другого человека при похожей картинке может быть недоступен получатель. Поэтому покупка ликвидности, ребалансировка или закрытие каналов не должны становиться первым действием по одной надписи: расходы возможны, а причина может находиться совсем в другом месте.
В официальную поддержку передайте версию кошелька, сеть, время, точную ошибку, сумму и идентификатор уже существующего платежа. Инвойс отправляйте по закрытому каналу, только если он нужен: в нём бывает контекст операции. Укажите выбранный аккаунт и результат проверки со стороны получателя. Для подтверждения баланса не требуются резервная фраза, файлы кошелька и учётные данные управления узлом.
Если выбран другой способ перевода, согласуйте его после выяснения судьбы исходной попытки. Обмен без регистрации остаётся отдельной операцией с собственными условиями по активу, сети и назначению. Проверяйте их в конкретной заявке. Неудача маршрута Lightning не означает, что другой сервис принимает этот инвойс или способен завершить исходный платёж вместо вашего кошелька.
Частые вопросы
Как проверить Lightning invoice перед повторной оплатой?
Посмотрите сеть, сумму и срок действия в представлении вашего кошелька. До нового платежа также выясните окончательный результат предыдущей попытки.
Почему в кошельке есть баланс, но инвойс Lightning не оплачивается?
Название и показанный остаток сами по себе не объясняют доступную исходящую сумму. Уточните выбранный аккаунт, состояние каналов либо ограничения сервиса, а затем проверьте сторону получателя.
Чем Lightning invoice отличается от Bitcoin address при ошибке маршрута?
Инвойс задаёт условия Lightning-платежа, а обычный адрес используется для соответствующего ончейн-перевода. Изменение комиссии маршрутизации не исправляет попытку отправить на неподдерживаемый формат назначения.
По теме на сайте
Источники
- docs.lightning.engineering/the-lightning-network/liquidity/manage-liquidity
- docs.lightning.engineering/the-lightning-network/pathfinding/multipath-payments-mpp
- github.com/lightning/bolts/blob/master/11-payment-encoding.md
- docs.lightning.engineering/the-lightning-network/pathfinding/channel-fees
- github.com/lightning/bolts/blob/master/04-onion-routing.md