Короткий ответ: ожидающую транзакцию Ethereum можно вытеснить другой операцией от того же адреса с тем же nonce и более конкурентной комиссией. При ускорении сохраняют исходные получателя, сумму и данные вызова. При «отмене» обычно отправляют нулевую сумму себе. Это гонка, а не гарантированный отзыв: если исходная операция подтвердится первой, отменить её уже нельзя.
Сначала убедитесь, что транзакция действительно ожидает
Откройте TxID как минимум в двух обозревателях выбранной сети. Проверьте адрес отправителя, nonce, получателя, сумму и статус. Если один сервис не находит запись, а другой показывает pending, операция всё ещё известна части сети. Если появился другой TxID с тем же отправителем и nonce, исходная транзакция могла быть заменена.
Статус Success или номер блока означает, что операция включена. Её нельзя ускорить или отозвать заменой. При переводе токена дополнительно проверьте журнал события: успешная внешняя транзакция и результат конкретного вызова не всегда описываются одной строкой интерфейса.
Не ориентируйтесь только на всплывающее уведомление кошелька. Различия между сетевыми состояниями подробно разобраны в статье о том, почему транзакция исчезает из мемпула.
Как работает замена с тем же nonce
Nonce определяет место операции в очереди исходящего аккаунта. Две транзакции одного отправителя с одинаковым номером являются конкурентами. Узлы применяют собственные правила мемпула и обычно принимают замену только при заметном повышении платы. Поэтому прибавка в символическую долю может не распространиться.
Для ускорения используйте встроенную функцию Speed Up или Replace, если она есть. Кошелёк сформирует тот же платёж с прежним nonce и обновлёнными параметрами комиссии. До подписи ещё раз сравните получателя, сумму, сеть и данные контракта. Разобраться в ценовых ограничениях помогает руководство про base fee, priority fee и max fee.
После отправки сохраните оба TxID. Разные узлы некоторое время могут показывать разных кандидатов. Подтверждён будет только один вариант с этим nonce, но окончательный результат проверяют по блоку, а не по отметке «ускорено» в кошельке.
Если новый кандидат не принимается, не создавайте цепочку почти одинаковых замен. Сначала проверьте, видит ли RPC исходную операцию и достаточно ли увеличены ограничения платы. Узел может отклонить замену по своим правилам мемпула, а другой провайдер – ещё не знать исходный TxID. Точный текст ошибки помогает отличить недостаточную надбавку от проблемы соединения.
Как устроена условная отмена
Встроенная функция Cancel обычно создаёт простую транзакцию на собственный адрес с нулевой суммой и тем же nonce. Если она попадёт в блок первой, исходный перевод или вызов контракта уже не сможет исполниться с этим номером. Заплатить комиссию за отменяющую операцию всё равно придётся.
Не заменяйте перевод на случайный адрес и не копируйте данные из инструкции для другой сети. Подписывайте операцию только в том же аккаунте и блокчейне. При ручном режиме трижды проверьте nonce: новый номер создаст отдельную транзакцию и не остановит исходную.
Гарантии нет. Пока обе операции конкурируют, валидатор может включить ту, которую увидел и выбрал первой. Поэтому после отправки отмены нельзя обещать получателю, что платёж точно не состоится. Дождитесь подтверждённого результата.
После успешной отмены проверьте баланс и следующий ожидаемый nonce. Не пытайтесь повторно использовать занятый номер: подтверждённая операция уже увеличила счётчик аккаунта. Новый платёж должен формироваться кошельком из актуального сетевого состояния.
Что делать при очереди из нескольких операций
Начинайте с наименьшего неподтверждённого nonce. Более новые транзакции не обойдут пропуск, даже если вы повысите их комиссии. Причины и поиск первой ступени описаны в инструкции про разрыв nonce в Ethereum.
- Найдите последнюю подтверждённую исходящую транзакцию адреса.
- Определите первый ожидаемый nonce и все TxID с этим номером.
- Решите, нужно сохранить исходное действие или заменить его переводом себе.
- Создайте только одну осмысленную замену с достаточным запасом платы.
- После подтверждения заново оцените следующие операции в очереди.
Когда повторная отправка создаёт второй платёж
Если кошелёк просто повторяет перевод с новым nonce, сеть рассматривает его как отдельное действие. Исходный перевод может подтвердиться позже, и получатель получит две суммы. Такой сценарий возможен даже после исчезновения первой записи из одного обозревателя.
Повторная отправка безопаснее, когда это именно замена с тем же nonce и вы проверили, что исходная операция не подтверждена. Для биржевого депозита, оплаты товара или перевода незнакомому человеку лучше дождаться однозначного статуса. Если запись пропала, следуйте алгоритму проверки транзакции в нескольких обозревателях.
Какие данные можно передать поддержке
Подготовьте название сети, публичный адрес отправителя, исходный и заменяющий TxID, nonce, время, получателя, сумму и точный текст ошибки. Это публичные или технические сведения. Seed-фраза, приватный ключ, пароль кошелька и 2FA не нужны для анализа и позволяют злоумышленнику завладеть средствами либо аккаунтом.
Итог
Ускорение и отмена в EVM-сетях основаны на конкуренции операций с одинаковым nonce. Ускорение повторяет исходное намерение, отмена пытается раньше занять номер безопасным переводом себе. Сначала подтвердите реальный сетевой статус, а затем используйте тот же nonce. Новый nonce не отменяет старую операцию и может создать второй платёж.



