Замена и отмена транзакции Ethereum

Если ваша транзакция Ethereum застряла из-за низкой платы за газ, вам нужно будет подождать, пока плата не упадет и майнеры, не обработают вашу транзакцию. Однако у вас также есть возможность заменить ожидающую транзакцию новой с более высокой ценой газа. Это работает с эфиром (ETH) и всеми токенами ERC20.

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

Иногда блокировки исчезают сами по себе — либо из-за сбоя ожидающей транзакции, либо из-за снижения платы за газ. Хотя вы не можете буквально отменить транзакцию Ethereum, есть несколько шагов, которые вы можете предпринять, чтобы ускорить процесс. По сути, он состоит в замене ожидающей транзакции новой, которая платит более высокую комиссию.

В этом руководстве мы покажем вам, как ускорить транзакции с помощью metaMask. Вы также можете использовать другие криптокошельки, поддерживающие блокчейн Ethereum, но процесс может немного отличаться.

Почему моя транзакция Ethereum зависла?

Ethereum работает с системой торгов для ваших транзакционных комиссий. Ваша комиссия будет зависеть от сложности вашей транзакции (т.е. от того, сколько вычислительной работы она требует). В этом контексте вам следует знать три важных термина: стоимость газа, цена газа и лимит газа.

Вычислительные задачи транзакции измеряются с точки зрения стоимости газа, а цена, уплачиваемая за каждую единицу газа, называется ценой газа. Вы можете думать о стоимости газа как о количестве требуемой работы, а о цене газа как о цене, уплачиваемой за каждый «час работы». Наконец, лимит газа — это максимальная сумма, которую вы готовы заплатить за транзакцию.

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

Как ускорить транзакцию на примере metaMask

1. Войдите в свой кошелек metaMask, в котором есть ожидающая транзакция. Если это внешний кошелек, вам необходимо импортировать адрес, используя соответствующую сид-фразу или закрытый ключ.

2. Найдите ожидающую транзакцию на вкладке [Активность]/[Activity] и нажмите [Ускорить]/[Speed Up].

3. Этот процесс позволит вам снова транслировать вашу транзакцию. Обязательно используйте более высокую цену на газ, нажав [Быстро]/[Fast], а затем [Сохранить]/[Save].

4. Если предыдущий шаг не сработал, вы также можете перейти на вкладку [Дополнительно]/[Advanced], чтобы установить цену на газ вручную. Вы можете проверить текущие цены на газ и среднее время подтверждения на Etherscan.

Как заменить транзакцию на примере metaMask

1. Войдите в свой кошелек metaMask, в котором есть ожидающая транзакция. Опять же, если это внешний кошелек, вам необходимо импортировать адрес, используя соответствующую исходную фразу или закрытый ключ.

2. Найдите ожидающую транзакцию на вкладке [Активность]/[Activity]. Нажмите на него, чтобы проверить детали и запишите значение [Nonce]. 
Примечание. Если у вас есть несколько ожидающих транзакций, вам нужно начать с самой старой (наименьшее значение одноразового номера).

3. Затем перейдите в metaMask [Настройки]/[Settings] и нажмите [Дополнительно]/[Advanced].

4. Прокрутите вниз и включите [Настроить одноразовый номер транзакции]/[Customize transaction nonce].

5. Вернитесь назад и щелкните адрес своего кошелька, чтобы скопировать его в буфер обмена.

6. Нажмите [Отправить]/[Send], чтобы создать новую транзакцию, и вставьте адрес своего кошелька в поле [Добавить получателя]/[Add Recipient].

7. Вам нужно отправить 0 ETH на свой кошелек, используя одноразовый номер незавершенной транзакции (записано на шаге 2). Нажмите [Подтвердить]/[//confirm/i/i], когда будете готовы.
Примечание. Если цена на газ слишком низкая, эта транзакция также может застрять. Убедитесь, что вы установили разумную цену на газ.

8. Дождитесь подтверждения новой транзакции, чтобы заменить ожидающую транзакцию.
Примечание. Во избежание несчастных случаев обязательно выключите параметр [Настроить одноразовый номер транзакции]/[Customize transaction nonce] в положение OFF.

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

Иногда застрявшие транзакции автоматически очищаются, когда сетевые сборы снижаются. Но, к сожалению, это может занять довольно много времени. К счастью, вы можете отменить зависшую транзакцию, запустив ее с помощью простой передачи нулевого токена. Помните, что вам нужно будет заплатить достаточную плату за газ, чтобы успешно провести отменяющую транзакцию.