Как отменить или заменить неподтвержденную транзакцию
Главная
Статьи
Как отменить или заменить неподтвержденную транзакцию

Как отменить или заменить неподтвержденную транзакцию

Новичок
Опубликовано May 20, 2021Обновлено Jan 6, 2023
5m


Осторожно! Много текста.

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

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


Введение

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

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

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

cancel-eth-tx-cta


Условия

  • Установленные MetaMask или Trust Wallet.

  • Приватные ключи (сид-фраза) для входа в ваш кошелек Ethereum.

  • Доступ в Интернет.


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

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

Стоимость газа – это цена за совершение транзакции с учетом необходимых для этого вычислительных мощностей, тогда как цена газа – это стоимость за одну единицу самого газа. Иными словами, стоимость газа – это объем необходимых работ, а цена газа – это цена за «каждый час» работы. Лимит газа – это максимальная сумма, которую вы готовы заплатить за транзакцию.

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


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

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

cancel-eth-tx-img1


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

cancel-eth-tx-img2


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

cancel-eth-tx-img3


4. Если это не сработало, вы можете перейти на вкладку [Advanced] (Продвинутый), чтобы установить цену на газ вручную. Проверить актуальные размеры комиссий и среднее время подтверждения можно на Etherscan или EthGasStation.


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

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

cancel-eth-tx-img4


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

Примечание: если у вас несколько неподтвержденных транзакций, вам нужно будет начать с самой ранней (с наименьшим значением nonce).

cancel-eth-tx-img5


3. Затем перейдите в [Settings] (Настройки) и нажмите [Advanced] (Продвинутые).

cancel-eth-tx-img6


4. Прокрутите страницу вниз и включите функцию [Customize transaction nonce] (Изменить значение nonce).

cancel-eth-tx-img7


5. Вернитесь назад и скопируйте адрес вашего кошелька.

cancel-eth-tx-img8


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

cancel-eth-tx-img9


7. Вы должны отправить 0 ETH на свой кошелек, используя nonce неподтвержденной транзакции (упоминалось в шаге 2). Когда будете готовы, нажмите [Confirm] (Подтвердить).

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

cancel-eth-tx-img10


8. Дождитесь подтверждения новой транзакции и замены транзакции в обработке.

Примечание: чтобы обезопасить себя, удостоверьтесь в том, что вы выключили функцию [Customize transaction nonce].


Как отменить операцию с помощью Trust Wallet

1. Нажмите на неподтвержденную транзакцию в приложении Trust Wallet и найдите поле [Nonce]. Запишите это число.

cancel-eth-tx-img11


2. Создайте новую транзакцию и добавьте адрес вашего кошелька в поле [Recipient Address] (Адрес получатель). Удостоверьтесь в том, что адрес тот же, что и у неподтвержденной транзакции. Установите [Amount ETH] (Сумма ETH) на 0 и нажмите [Next] (Далее).

cancel-eth-tx-img12


3. Откройте настройки в правом верхнем углу.

cancel-eth-tx-img13


4. В поле [Nonce] вставьте значение, которое вы записали ранее. Удостоверьтесь в том, что вы установили достаточно высокое значение в поле [Gas Price] (Цена газа), чтобы ваша транзакция больше «не застревала» в ожидании.

cancel-eth-tx-img14


8. Дождитесь подтверждения новой транзакции и замены транзакции в обработке.


В заключение

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

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