Как удалить Pending транзакцию.
До недавнего времени мы считали сеть эфира безотказной как автомат калашникова. Но несколько дней назад автомат у нас заклинило. В чём собственно проблема – если вы отправите в сеть транзакцию с ценой газа недостаточной для совершения транзакции или выполнения кода, то Ваша транзакция будет болтаться в статусе пендинг какое-то продолжительное неопределённое время. А если от данного аккаунта зависит Ваш бизнес процесс – то Ваш бизнес может полностью встать. Что собственно и произошло с нами.
Отправив в сеть транзакцию на Approve вывода средств с мультисиг кошелька, была установлена минимальная стоимость за газ – 1 gwei. Транзакция ушла в сеть и повисла в статусе Pending. Все последующие за ней транзакции так же повисали в статусе пендинг в независимости от того, какая была установлена цена на газ – 21 или даже 41 gwei.
В попытках хоть как-то повлиять на ситуацию – Вы генерируете новые и новые транзакции. Таких транзакций может скопиться хоть 20, хоть 100, пока не будет обработана самая первая проблемная транзакция с ценой за газ в 1 Gwei – Вы сделать ничего не сможете. Учитывая, что последнюю неделю сеть перегружена чуть чаще, чем всегда:
вырисовывается неприятная картина… Сколько Вам ждать не понятно, позвонить майнерам так же не представляется возможным.
А если Ваш аккаунт является еще и Owner’ом какого-то смарт контракта или MultiSig кошелька – то никаких действий по конфигурированию смарт контракт или подписей по MultiSig’у Вы сделать так же сможете.
Но решение было найдено! Для этого необходимо послать в сеть новую транзакцию, указав у неё nonce такой-же как у транзакции, что вызвала затор, и выставив цену на газ Выше, например 20 Gwei. Транзакция может ничего не отправлять – то есть отправить можно 0 Eth. Для этого необходимо: На сайте https://etherscan.io найти Вашу “проблемную” транзакцию и узнать у неё nonce. Перейти на сайт https://www.myetherwallet.com, затем во вкладку Send Offline: Введите Ваш адрес в поле From Address, любой адрес в поле To Address, Value/Amount to Send оставьте 0, цену на газ Gas Price выставьте в 20 gwei – 20000000000 (9 нолей после 20):
Затем укажите nonce, который вы узнали на etherscan’е, выберите Keystore File (UTC / JSON), выберите файл keystore Вашего аккаунт, введите пароль и разблокируйте Ваш аккаунт кнопкой Unlock. Тут придётся немного подождать – идёт процесс разблокировки аккаунта.
Затем жмём на Generate Transaction, после чего отправляем транзакцию кнопкой Send Transaction.
Вот и всё! Смотрим на Ethetscan как Ваши транзакции начали ходить.
П.С. Если в сеть Вы успели отправить несколько транзакций с дешевым газом – необходимо повторить для каждой из них.
Первоисточник: https://www.reddit.com/r/EtherDelta/comments/72tctz/guide_how_to_cancel_a_pending_transactio n/
Не стесняйтесь, пишите нам в https://t.me/fidcomRu , задавайте любые вопросы.
Присоединяйтесь к нашему ICO Fidcom.net