Як скасувати або замінити очікуючу транзакцію Ethereum
Головна сторінка
Статті
Як скасувати або замінити очікуючу транзакцію Ethereum

Як скасувати або замінити очікуючу транзакцію Ethereum

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

TL;DR

Якщо ви раніше використовували мережу Ethereum, ви, ймовірно, отримували транзакцію, для підтвердження якої потрібно більше часу, ніж зазвичай. Це відбувається через те, що майнери встановлюють пріоритети транзакцій – користувачі, що пропонують вищі комісії, отримують пріоритет.

Якщо ваша транзакція Ethereum застрягла через низьку комісію за gas, вам потрібно буде почекати, поки комісія не впаде і майнер, нарешті, обробить вашу транзакцію. Однак у вас також є можливість замінити очікуючу транзакцію новою з більш високою ціною на gas. Звучить складно? Це простіше, ніж ви думаєте. І це працює з ether (ETH) і всіма токенами ERC20.


Вступ

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

Іноді блокування усуваються самі по собі – або через збій очікуючої транзакції, або через зниження комісії за gas. Хоча ви не можете буквально скасувати транзакцію Ethereum, є кілька кроків, які ви можете зробити, щоб прискорити процес. Фактично, вони полягають в заміні незавершеної транзакції на нову, яка вимагає більш високих комісій.

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

cancel-eth-tx-cta


Вимоги

  • Встановлений гаманець MetaMask або Trust Wallet.

  • Приватні ключі (seed фраза) для входу у свій гаманець Ethereum.

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


Чому моя транзакція Ethereum зависла?

Ethereum працює з системою торгів для ваших транзакційних комісій. Ваша комісія буде залежати від складності вашої транзакції (тобто від того, скільки обчислювальної роботи їй потрібно). У цьому контексті вам слід знати три важливих терміни: вартість gas, ціна на gas і gas ліміт.

Обчислювальні завдання транзакції вимірюються в одиницях вартості gas, в той час як ціна, що сплачується за кожну одиницю gas – це те, що ми називаємо ціною на gas. Ви можете думати про вартість gas як про кількість необхідних робіт, а про ціну gas як про ціну, що сплачується за кожну "годину роботи". А gas ліміт – це максимальна сума, яку ви готові заплатити за транзакцію.

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


Як прискорити транзакцію на MetaMask

1. Увійдіть до свого гаманця MetaMask, в якому є очікуюча транзакція. Якщо це зовнішній гаманець, вам необхідно імпортувати адресу, використовуючи відповідну seed фразу або приватний ключ.

cancel-eth-tx-img1


2. Знайдіть очікуючу транзакцію на вкладці [Активність] і натисніть [Прискорити].

cancel-eth-tx-img2


3. Цей процес дозволить вам знову транслювати вашу транзакцію. Переконайтеся, що ви вибрали більш високу ціну на gas, натиснувши [Швидко], а потім [Зберегти].

cancel-eth-tx-img3


4. Якщо попередній крок не спрацював, ви також можете перейти на вкладку [Розширена], щоб встановити ціну на gas вручну. Ви можете перевірити поточні ціни на gas і середній час підтвердження на Etherscan або EthGasStation.


Як замінити транзакцію на MetaMask

1. Увійдіть до свого гаманця MetaMask, в якому є очікуюча транзакція. Знову ж таки, якщо це зовнішній гаманець, вам необхідно імпортувати адресу, використовуючи відповідну seed фразу або приватний ключ.

cancel-eth-tx-img4


2. Знайдіть очікуючу транзакцію на вкладці [Активність]. Натисніть на неї, щоб перевірити деталі та записати значення [Nonce]. 

Примітка: Якщо у вас є кілька очікуючих транзакцій, вам потрібно почати з найдавнішої (найменше значення nonce).

cancel-eth-tx-img5


3. Потім перейдіть у [Налаштування] в MetaMask і натисніть [Розширені].

cancel-eth-tx-img6


4. Прокрутіть вниз та увімкніть [Налаштувати nonce транзакції].

cancel-eth-tx-img7


5. Поверніться і натисніть на адресу свого гаманця, щоб скопіювати її у буфер обміну.

cancel-eth-tx-img8


6. Натисніть [Надіслати], щоб створити нову транзакцію, і вставте адресу свого гаманця у поле [Додати одержувача].

cancel-eth-tx-img9


7. Вам необхідно відправити 0 ETH на свій гаманець, використовуючи "nonce" очікуючої транзакції (записаний на кроці 2). Коли будете готові, натисніть [Підтвердити].

Примітка: Якщо ціна на gas занадто низька, ця транзакція також може зависнути. Переконайтеся, що ви встановили розумну ціну на gas.

cancel-eth-tx-img10


8. Дочекайтеся підтвердження нової транзакції, щоб замінити очікуючу транзакцію.

Примітка: Щоб уникнути інцидентів, не забудьте знову встановити значення "ВИКЛ" для параметра [Налаштувати nonce транзакції].


Як скасувати транзакцію з Trust Wallet

1. Натисніть на очікуючу транзакцію у додатку Trust Wallet і знайдіть поле [Nonce]. Запишіть число, яке ви бачите.

cancel-eth-tx-img11


2. Створіть нову транзакцію і додайте адресу свого гаманця у поле [Адреса одержувача]. Переконайтеся, що це та сама адреса, що і в очікуючій транзакції. Встановіть [Сума ETH] як 0 і натисніть [Далі].

cancel-eth-tx-img12


3. Натисніть налаштування у правому верхньому куті.

cancel-eth-tx-img13


4. Замініть поле [Nonce] значенням, яке ви записали раніше. Переконайтеся, що ви встановили конкурентоспроможну [Ціну на gas], щоб ваша транзакція більше не зависла.

cancel-eth-tx-img14


5. Дочекайтеся підтвердження нової транзакції, щоб замінити очікуючу транзакцію.


Заключні думки

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

Іноді, транзакції що застрягли, відправляються автоматично при зниженні комісії мережі. Але, на жаль, це може зайняти деякий час. На щастя, ви можете скасувати транзакцію, що застрягла, запустивши її за допомогою простого переказу з нульовим токеном. Пам'ятайте, що вам потрібно буде заплатити достатню комісію за gas, щоб успішно провести скасування транзакції.