Как ускорить или отменить ожидающую транзакцию
Нужно ли перевести эту статью?
Отправляйте переводы, исправления и предложения на GitHub или пишите на форумах нашего сообщества.
Когда вы отправляете транзакцию в Ethereum или совместимую сеть, часть платы за газ является предложением для сети обработать вашу транзакцию быстрее — это элемент еще называется платой за приоритет.
Хотя MetaMask поможет вам с расчетом общей платы за газ, при которой ваша транзакция, скорее всего, будет принята, выполнения транзакции, возможно, придется ждать долго, если она отправляется с низкой платой за газ. Чтобы узнать, с какой ценой на газ транзакция будет завершена в разумные сроки, обратитесь к таким источникам, как газ-трекер Etherscan, или к аналогичному трекеру для любой сети, которую вы используете.
Кроме того, иногда что-то идет не так, и транзакция просто зависает или находится в состоянии ожидания в течение очень долгого времени.
Независимо от того, что привело к этому, есть несколько разных способов решения проблемы.
Прежде чем предпринимать какие-либо действия, первым делом следует выйти и полностью закрыть браузер, снова открыть его и разблокировать MetaMask (в случае с мобильным приложением просто закройте приложение и повторно откройте его). Если это не решит проблему, выполните следующие действия:
Ускорение транзакции
Попробуйте один из следующих вариантов:
- Подождите, пока сеть не будет готова обрабатывать транзакции по вашей цене.
- Если вы еще этого не сделали, нажмите кнопку с надписью «Ускорить». Это позволит повторно отправить ту же транзакцию, но с более высокой платой за газ, что должно ускорить ее обработку. Поскольку этот процесс повторно использует тот же одноразовый код, что и в оригинальной транзакции, платить за газ дважды не нужно.
Имейте в виду, что ускорение транзакции увеличит сумму, которую вы тратите на транзакцию.
Отмена транзакции
Способ 1. Отмена в приложении
Если вы еще этого не сделали, для отмены транзакции просто выберите «Отменить», как показано на скриншоте выше. Обратите внимание, отмена может быть выполнена, если транзакция все еще находится в состоянии ожидания в сети. Транзакции, которые уже были подтверждены, не могут быть обращены вспять.
Способ 2. Пользовательский одноразовый код
Чтобы сделать поле пользовательского одноразового кода видимым, необходимо отключить функцию Умные транзакции. Это можно сделать в «Дополнительных настройках». После удаления ожидающей транзакции вы можете легко снова включить функцию «Умные транзакции».
Этот процесс включает в себя отправку новой транзакции с тем же одноразовым кодом (идентификационным номером каждой транзакции, название которого образовано из фразы «number only used once» (одноразовое случайное число)). Транзакция может не иметь никакой ценности, например, вы можете отправить 0 ETH. Важно, чтобы вы заплатили достаточно за газ, чтобы сеть рассматривала вашу транзакцию в качестве приоритетной.
При использовании этого способа вам нужно будет начинать с транзакции, которая дольше всего ожидает подтверждения в очереди и которую вы хотите отменить. Например, вы не можете попытаться отменить транзакцию с одноразовым кодом 10 до отмены транзакции с одноразовым кодом 9.
Обратите внимание, что вы можете отменить несколько транзакций одновременно, если они имеют одинаковый одноразовый код. Поскольку одноразовый код по определению может быть использован только один раз, отмена одной из них приведет к отмене всех других, имеющих такой же одноразовый код.
Скриншоты ниже были сделаны в разное время, поэтому показанные в них суммы платы за газ могут отличаться даже от шага к шагу. Пусть это вас не смущает! Когда вы делаете это сами, MetaMask будет автоматически обновляться в режиме реального времени, чтобы показывать рыночные курсы.
- Расширение
- Мобильное приложение
- В дополнительных настройках включите Настроить одноразовый код транзакции. Эту функцию необходимо включить, чтобы вы смогли отправить заменяющую транзакцию (используя тот же одноразовый код). Как найти одноразовый код транзакции, см. здесь.
- Отправка новой транзакции. Новую транзакцию отправьте СЕБЕ, т.е. на свой публичный адрес MetaMask. Укажите в поле «Пользовательский одноразовый код» тот же код, что и в транзакции, которая все еще находится в ожидающем статусе:
- Рядом с предполагаемой комиссией на экране подтверждения транзакции вы увидите значок карандаша для редактирования комиссии. Нажмите значок редактирования и выберите «Дополнительно» внизу:
Чтобы убедиться, что ваш запрос на отмену был принят в приоритетном порядке и раньше оригинала, вам надо заплатить за газ больше. На этом экране выполните следующие инструкции:
- Установите свой лимит газа сравнимый или немного выше, чем в первоначальной транзакции.
- Установите максимальную плату за приоритет по крайней мере на 10% выше (в гвей), чем плата за газ первоначальной (ожидающей) транзакции (например, если у этой транзакция плата за газ была 30 гвей, установите максимальную плату за приоритет для новой транзакции для целей замены/отмены в размере 33–35 гвей).
- Убедитесь, что ваша максимальная плата как минимум на 30% выше, чем максимальная комиссия транзакции, которую вы заменяете. Например, если ваша предыдущая плата была 150 гвей, на этот раз выберите сумму около 200 гвей.
Посетите газ-трекер такой, как газ-трекер Etherscan, для получения рекомендаций по максимальным комиссиям.
- **В разделе «Настройки» > «Дополнительно» включите «Настроить одноразовый код транзакции».
-
Отправьте новую транзакцию. Новую транзакцию отправьте СЕБЕ, т.е. на ваш публичный адрес MetaMask. Установите тот же одноразовый код, что и код у ожидающей транзакции.
Чтобы найти настройку пользовательского одноразового кода в приложении, перейдите на экран подтверждения транзакции, который появится после ввода количества токенов и получателя. Нажмите «Изменить», чтобы изменить ее:
- Теперь вам нужно убедиться, что ваши настройки газа установлены таким образом, чтобы была обработана заменяющая транзакция. На экране подтверждения транзакции нажмите на выделенное значение газа:
Теперь зайдите в «Дополнительные параметры» в появившемся меню.
-
Здесь вы можете выполнять точные корректировки газа, чтобы транзакция была принята в обработку. Теперь вы увидите экран, который выглядит следующим образом:
Здесь откорректируйте настройки газа. Выполните следующие инструкции, чтобы ваша транзакция была принята в обработку:
- Установите свой лимит газа сравнимый с лимитом первоначальной транзакции или немного выше, его.
- Установите максимальную плату за приоритет по крайней мере на 10% выше (в гвей), чем плата за газ в первоначальной (ожидающей) транзакции (например, если в этой транзакция плата за газ была 30 гвей, установите максимальную плату за приоритет для новой заменяющей или отменяющей транзакции на уровне 33–35 гвей).
- Убедитесь, что ваша максимальная плата как минимум на 30% выше, чем максимальная плата за транзакцию, которую вы заменяете. Например, если ваша предыдущая плата была 150 гвей, выберите что-то около 200 гвей.
Посетите газ-трекер такой, как газ-трекер Etherscan, для получения рекомендаций по максимальным комиссиям.