Начинающим

Что делать, если транзакция исчезла из мемпула

Если транзакция исчезла из обозревателя, проверьте TxID, UTXO или nonce и исключите замену перед повторной отправкой.

Что делать, если транзакция исчезла из мемпула

Если транзакция исчезла из одного обозревателя, не отправляйте платёж повторно сразу. Сначала сохраните TxID, выберите правильную сеть и проверьте запись ещё в двух местах. Мемпул не является единым реестром: каждый узел хранит собственный набор неподтверждённых транзакций, а обозреватель показывает данные своего узла и индексатора. Поэтому пропажа строки на одном сайте ещё ничего не говорит о состоянии перевода.

Для начала откройте инструкцию по проверке перевода по TxID и скопируйте идентификатор из истории кошелька. Не набирайте его вручную: один неверный символ приведёт к поиску другой операции или к сообщению, что запись не найдена.

Почему обозреватели показывают разный результат

Неподтверждённая транзакция распространяется между узлами, но не становится частью общего состояния сети, пока не войдёт в блок. Узлы могут получить её в разное время, отклонить по собственной политике, удалить при переполнении памяти или перестать хранить после перезапуска. В одной сети одновременно возможна ситуация, когда узел А ещё видит транзакцию, а узел Б её уже не знает.

Между узлом и страницей обозревателя обычно работает индексатор. Он разбирает блоки и мемпул, связывает транзакции с адресами и сохраняет результат в базе. Если индексатор отстал, завис или обновляет данные из кэша, страница может временно показывать устаревший статус. Это сбой представления данных, а не изменение блокчейна.

Проверяйте TxID минимум в двух независимых обозревателях одной и той же сети. Третьей точкой может быть кошелёк, собственный узел или сервис, через который транзакция была отправлена. Для токенов отдельно проверьте сеть: одинаковый формат адреса в совместимых сетях не означает, что вы открыли нужный блокчейн.

Как понять, что именно произошло

Транзакция подтверждена. Обозреватель показывает номер или хеш блока и число подтверждений. В Ethereum-подобной сети дополнительно смотрите квитанцию: статус успешного выполнения и статус ошибки означают разные результаты, но в обоих случаях транзакция уже включена в блок. Если выполнение завершилось ошибкой, разберите статусы Failed и Reverted и не считайте уплаченную сетевую комиссию частью пропавшего перевода.

Запись удалена из мемпула. Несколько источников не находят TxID, блока нет, а использованные монеты или nonce не заняты другой подтверждённой операцией. Такое бывает после вытеснения, окончания локального срока хранения, перезапуска узла или отказа принять транзакцию по правилам ретрансляции. Отсутствие в нескольких обозревателях повышает вероятность удаления, но само по себе не доказывает, что ни один узел в сети больше не хранит исходную транзакцию.

Транзакция заменена. У старого TxID нет подтверждения, зато находится другой хеш, который расходует те же UTXO или использует тот же адрес отправителя и nonce. Сравните получателя, сумму и данные вызова. Ускорение обычно сохраняет назначение платежа, а отмена или ручная замена может иметь другие поля.

Сломался индексатор. Один обозреватель не находит запись, а другой показывает её в мемпуле или в блоке с проверяемым номером. Повторите запрос позже и сравните высоту последнего обработанного блока. Если отстаёт только один сайт, действовать по его сообщению «не найдено» нельзя.

Алгоритм для Bitcoin и других UTXO-сетей

  1. Проверьте точный TxID. Найдите его в двух или трёх обозревателях выбранной сети. Если хотя бы один надёжный источник показывает транзакцию неподтверждённой, считайте, что она ещё способна попасть в блок, и не создавайте новый платёж.
  2. Если есть блок, проверьте подтверждения. Сверьте сумму и адреса выходов. При недавней реорганизации статус может временно измениться, поэтому для важного перевода дождитесь требуемой получателем глубины подтверждения.
  3. Если TxID нигде не найден, посмотрите входы. Каждый вход ссылается на предыдущий выход в формате «предыдущий TxID и номер vout». Если другой хеш уже тратит хотя бы один из этих выходов, исходная транзакция конфликтует с заменой и подтвердиться вместе с ней не сможет.
  4. Сравните выходы замещающей операции. Проверьте адрес получателя, сумму платежа и сдачу. Новый хеш может быть обычным повышением комиссии, но совпадение входов не гарантирует совпадение получателя.
  5. Если все входы снова свободны, изучите состояние кошелька. Убедитесь, что кошелёк не помечает исходную операцию как ожидающую повторной ретрансляции. Предпочитайте встроенную функцию повторной отправки, отказа от локальной записи или повышения комиссии, если она документирована разработчиком кошелька.

В UTXO-сети две транзакции с одинаковыми входами не могут обе попасть в основную цепочку. Опасность возникает, когда пользователь создаёт второй платёж из других входов: тогда старая транзакция может вернуться в сеть, и оба платежа окажутся действительными. Именно поэтому безопасное повышение комиссии должно заменять исходную операцию, а не создавать независимый перевод.

Правила мемпула и замены отличаются между UTXO-сетями и версиями узлов. Не переносите автоматически поведение Bitcoin на Litecoin, Dogecoin или другую сеть. Если кошелёк не показывает использованные входы и не умеет явно заменять операцию, остановитесь и обратитесь к его поддержке.

Алгоритм для Ethereum и сетей с nonce

  1. Проверьте хеш и квитанцию. Запись с номером блока уже не является pending. Статус квитанции показывает, выполнилась ли операция успешно; неуспешное выполнение всё равно расходует nonce отправителя.
  2. Запишите адрес отправителя и nonce. Nonce задаёт порядок операций одного аккаунта. Для каждого адреса может исполниться только одна транзакция с конкретным nonce.
  3. Сравните подтверждённое и ожидающее состояние аккаунта. Значение для состояния latest отражает уже включённые операции, а pending может учитывать известную узлу очередь. Разница между ними указывает, что у адреса есть неподтверждённые транзакции, хотя конкретный обозреватель может не показывать старый хеш.
  4. Если подтверждённый счётчик уже выше nonce пропавшей операции, ищите замену. Этот nonce был использован. Найдите другой хеш от того же адреса и сравните получателя, value и input data.
  5. Если подтверждённый nonce ещё не использован, не перескакивайте к следующему. Более поздняя операция может остаться в очереди, пока не будет обработан пропущенный nonce. Для ускорения или отмены используйте функцию кошелька, которая создаёт замену с тем же nonce и подходящими параметрами комиссии.

Новая транзакция с тем же nonce конкурирует со старой, поэтому исполнится только одна из них. Транзакция с новым nonce является отдельной операцией: если старый платёж позже подтвердится, новый тоже сможет выполниться следом. Ручное изменение nonce без понимания очереди повышает риск второго платежа и блокировки последующих операций.

Когда повторная отправка безопасна

Повторять действие относительно безопасно, когда вы доказали одно из двух условий: кошелёк создаёт замену, которая конфликтует с исходной транзакцией на уровне тех же UTXO, либо Ethereum-кошелёк формирует операцию с тем же адресом отправителя и тем же nonce. Перед подписью заново сравните сеть, получателя, сумму и данные контракта.

Не отправляйте новый платёж, если исходный TxID виден хотя бы в одном мемпуле, если неизвестно состояние входов или nonce, если биржа уже зачислила депозит внутренней записью либо если кошелёк предлагает обычный перевод вместо явной замены. Для проверки процесса небольшой суммой используйте отдельную инструкцию по тестовому переводу, но не называйте тестом повтор той же спорной оплаты.

Если платёж предназначен магазину, бирже или другому сервису, сначала согласуйте новый перевод с получателем. Он может уже видеть исходную операцию своим узлом или связать депозит с внутренней заявкой. Новый независимый платёж без такого согласования способен создать два зачисления, одно из которых придётся возвращать вручную.

Что подготовить для поддержки

Поддержке достаточно публичных и технических сведений:

  • название сети и актива, а для токена – адрес контракта;
  • исходный TxID или хеш и, если есть, хеш замены;
  • публичные адреса отправителя и получателя;
  • сумма, время отправки с часовым поясом и текущий статус;
  • для UTXO-сети – ссылки на использованные входы, если кошелёк их показывает;
  • для Ethereum-подобной сети – адрес отправителя и nonce;
  • результаты проверки в нескольких обозревателях, версия кошелька и описание уже выполненных действий.

Скриншот можно приложить, если на нём нет лишних персональных данных, балансов других счетов и кодов подтверждения. Контакты поддержки открывайте вручную с официального сайта приложения или сервиса, а не из ответа незнакомца в комментариях или личных сообщениях.

Какие данные нельзя передавать

Seed-фраза и приватный ключ дают возможность подписывать операции и полностью управлять средствами. Пароль открывает локальный кошелёк или аккаунт сервиса, а одноразовый код 2FA подтверждает вход или действие в момент запроса. Ни один из этих секретов не нужен, чтобы найти публичный TxID, проверить блок, UTXO или nonce.

Не вводите секреты в «диагностическую форму», не отправляйте их файлом и не включайте демонстрацию экрана по просьбе человека, который представился поддержкой. Настоящая проверка пропавшей транзакции выполняется по публичным идентификаторам. Просьба сообщить seed-фразу, приватный ключ, пароль или 2FA означает, что разговор нужно немедленно прекратить.

Короткий порядок действий

  1. Скопируйте TxID из кошелька и убедитесь, что выбрана правильная сеть.
  2. Проверьте запись в нескольких независимых источниках.
  3. Отделите подтверждение от сбоя индексатора, удаления из мемпула и замены.
  4. Для UTXO найдите состояние входов, для Ethereum – адрес отправителя и nonce.
  5. Не создавайте независимый повторный платёж, пока не доказано, что он не сможет исполниться вместе с исходным.
  6. Передайте поддержке только публичные данные и сохраните все секреты у себя.

Если после этих шагов остаётся неопределённость, безопаснее подождать или запросить помощь разработчика кошелька, чем угадывать по одному исчезнувшему экрану. Отдельно о возможностях отмены и замены рассказывает материал об отмене неподтверждённой транзакции.