Как ускорить или отменить ожидающую транзакцию
Does this article need to be translated?
Submit translations, corrections, and suggestions on GitHub, or reach out on our Community forums.
Когда вы отправляете транзакцию в Ethereum или совместимую сеть, часть платы за газ является предложением для сети обработать вашу транзакцию быстрее— это элемент еще называется платой за приоритет.
Хотя MetaMask поможет вам с расчетом общей платы за газ, при которой ваша транзакция, скорее всего, будет принята, выполнения транзакции, возможно, придется ждать долго, если она отправляется с низкой платой за газ. Чтобы узнать, с какой ценой на газ транзакция будет завершена в разумные сроки, обратитесь к таким источникам, как газ-трекер Etherscan, или к аналогичному трекеру для любой сети, которую вы используете.
Кроме того, иногда что-то идет не так, и транзакция просто зависает или находится в состоянии ожидания в течение очень долгого времени.
Независимо от того, что привело к этому, есть несколько разных способов решения проблемы.
Прежде чем предпринимать какие-либо действия, первым делом следует выйти и полностью закрыть браузер, снова открыть его и разблокировать MetaMask (в случае с мобильным приложением просто закройте приложение и повторно откройте его). Если это не решит проблему, выполните следующие действия:
Ускорение транзакции
Попробуйте один из следующих вариантов:
- Подождите, пока сеть не будет готова обрабатывать транзакции по вашей цене.
- Если вы еще этого не сделали, нажмите кнопку с надписью «Ускорить». Это позволит повторно отправить ту же транзакцию, но с более высокой платой за газ, что должно ускорить ее обработку. Поскольку этот процесс повторно использует тот же одноразовый код, что и в оригинальной транзакции, платить за газ дважды не нужно.
Имейте в виду, что ускорение транзакции увеличит сумму, которую вы тратите на транзакцию.
Отмена транзакции
Способ 1. Отмена в приложении
Если вы еще этого не сделали, для отмены транзакции просто выберите «Отменить», как показано на скриншоте выше. Обратите внимание, отмена может быть выполнена, если транзакция все еще находится в состоянии ожидания в сети. Транзакции, которые уже были подтверждены, не могут быть обращены вспять.
Способ 2. Пользовательский одноразовый код
To make the custom nonce box visible, you need to turn off the Smart Transactions feature. You can do this by going to "Advanced Settings" and toggling the feature off. After clearing the pending transaction, you can easily re-enable Smart Transactions by toggling it back on.
Этот процесс включает в себя отправку новой транзакции с тем же одноразовым кодом (идентификационным номером каждой транзакции, название которого образовано из фразы «number only used once» (одноразовое случайное число)). Транзакция может не иметь никакой ценности, например, вы можете отправить 0 ETH. Важно, чтобы вы заплатили достаточно за газ, чтобы сеть рассматривала вашу транзакцию в качестве приоритетной.
При использовании этого способа вам нужно будет начинать с транзакции, которая дольше всего ожидает подтверждения в очереди и которую вы хотите отменить. Например, вы не можете попытаться отменить транзакцию с одноразовым кодом 10 до отмены транзакции с одноразовым кодом 9.
Note also that you may be able to cancel multiple transactions at once if they have the same nonce. Since a nonce—by definition—can only be used once, cancelling one of them will cancel all that have the same nonce.
Скриншоты ниже были сделаны в разное время, поэтому показанные в них суммы платы за газ могут отличаться даже от шага к шагу. Пусть это вас не смущает! Когда вы делаете это сами, MetaMask будет автоматически обновляться в режиме реального времени, чтобы показывать рыночные курсы.
- Расширение
- Мобильное приложение
- In advanced settings, turn on Customize transaction nonce. You'll need this turned on so you can send a replacement transaction (using the same nonce). Find out how to locate a transaction's nonce here.
- Отправка новой транзакции. Новую транзакцию отправьте СЕБЕ, т.е. на свой публичный адрес MetaMask. Укажите в поле «Пользовательский одноразовый код» тот же код, что и в транзакции, которая все еще находится в ожидающем статусе:
- Next to the estimated fee on the transaction confirmation screen, you'll see a pencil icon to edit the fee. Click the edit icon and then select 'Advanced' at the bottom:
Чтобы убедиться, что ваш запрос на отмену был принят в приоритетном порядке и раньше оригинала, вам надо заплатить за газ больше. На этом экране выполните следующие инструкции:
- Установите свой лимит газа сравнимый или немного выше, чем в первоначальной транзакции.
- Установите максимальную плату за приоритет по крайней мере на 10% выше (в гвей), чем плата за газ первоначальной (ожидающей) транзакции (например, если у этой транзакция плата за газ была 30 гвей, установите максимальную плату за приоритет для новой транзакции для целей замены/отмены в размере 33–35 гвей).
- Убедитесь, что ваша максимальная плата как минимум на 30% выше, чем максимальная комиссия транзакции, которую вы заменяете. Например, если ваша предыдущая плата была 150 гвей, на этот раз выберите сумму около 200 гвей.
Посетите газ-трекер такой, как газ-трекер Etherscan, для получения рекомендаций по максимальным комиссиям.
- **В разделе «Настройки» > «Дополнительно» включите «Настроить одноразовый код транзакции».
-
Отправьте новую транзакцию. Новую транзакцию отправьте СЕБЕ, т.е. на ваш публичный адрес MetaMask. Установите тот же одноразовый код, что и код у ожидающей транзакции.
Чтобы найти настройку пользовательского одноразового кода в приложении, перейдите на экран подтверждения транзакции, который появится после ввода количества токенов и получателя. Нажмите «Изменить», чтобы изменить ее:
- Теперь вам нужно убедиться, что ваши настройки газа установлены таким образом, чтобы была обработана заменяющая транзакция. На экране подтверждения транзакции нажмите на выделенное значение газа:
Теперь зайдите в «Дополнительные параметры» в появившемся меню.
-
Здесь вы можете выполнять точные корректировки газа, чтобы транзакция была принята в обработку. Теперь вы увидите экран, который выглядит следующим образом:
Здесь откорректируйте настройки газа. Выполните следующие инструкции, чтобы ваша транзакция была принята в обработку:
- Установите свой лимит газа сравнимый с лимитом первоначальной транзакции или немного выше, его.
- Установите максимальную плату за приоритет по крайней мере на 10% выше (в гвей), чем плата за газ в первоначальной (ожидающей) транзакции (например, если в этой транзакция плата за газ была 30 гвей, установите максимальную плату за приоритет для новой заменяющей или отменяющей транзакции на уровне 33–35 гвей).
- Убедитесь, что ваша максимальная плата как минимум на 30% выше, чем максимальная плата за транзакцию, которую вы заменяете. Например, если ваша предыдущая плата была 150 гвей, выберите что-то около 200 гвей.
Посетите газ-трекер такой, как газ-трекер Etherscan, для получения рекомендаций по максимальным комиссиям.