Можно ли отменить транзакцию?

Можно ли отменить транслирование транзакции на блок-цепочку?

Предположим, я транслирую транзакцию и хочу ее отменить до ее запуска. Возможно ли это?

Это может быть полезно при отправке ошибочной транзакции, содержащей недопустимые данные.

17 голосов | спросил Shuzheng 21 22017vEurope/Moscow11bEurope/MoscowTue, 21 Nov 2017 21:59:59 +0300 2017, 21:59:59

2 ответа


23

Его нельзя отменить, но он может быть «отработанным». Вы можете захватить nonce (можно найти на ожидающем tx на etherscan) и отправить другую транзакцию с более высокой ценой на газ с тем же самым nonce . Если вы используете другое nonce, то оба они могут быть заминированы, но если вы используете одно и то же nonce, только один может быть заминирован. Если шахтеры видят и то, и другое, они должны быть достаточно умны, чтобы выбрать шахту tx с более высокой ценой на газ.

ответил flygoing 21 22017vEurope/Moscow11bEurope/MoscowTue, 21 Nov 2017 22:44:51 +0300 2017, 22:44:51
11

Пока невозможно явно отменить транзакцию, вы можете аннулировать транзакцию до ее запуска. То, как это работает, - это передача одной и той же транзакции с использованием того же nonce , но с оплатой за газ выше . Шахтеры стимулируются для обработки транзакций с более высокими пошлинами. Если они обрабатывают новую транзакцию, тогда старая транзакция становится недействительной и поэтому отклоняется.

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

Связанные

ответил Miguel Mota 21 22017vEurope/Moscow11bEurope/MoscowTue, 21 Nov 2017 22:22:59 +0300 2017, 22:22:59

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132