Что такое rеplace by Fee и зачем он нужен?
В ситуациях, когда необходимо отменить или заменить транзакцию, возникает необходимость воспользоваться механизмом rеplace by Fee (RBF). Это может произойти, если транзакция долго не добавляется в блок из-за низкой комиссии. Все транзакции, которые не были добавлены в блок после их создания, считаются неподтвержденными. Неподтвержденные транзакции чаще всего случаются именно из-за слишком низкой комиссии.
Однако такие транзакции могут быть обработаны с помощью механизма rеplace by Fee. В блокчейнах, таких как Bitcoin и Ethereum, можно заменить неподтвержденную транзакцию новой, с более высокой комиссией. Это помогает ускорить обработку транзакции майнерами.
Как ускорить транзакцию за счёт повышения комиссии
Главное отличие Ethereum от Bitcoin заключается в том, что каждая транзакция в Ethereum имеет свой порядковый номер (nonce). Чтобы воспользоваться rеplace by Fee, у оригинальной и новой транзакции должен быть один и тот же nonce.
Nonce указывает майнерам и узлам блокчейна порядок транзакций, а также изменяет "состояние аккаунта". Первая транзакция с меньшим nonce будет принята первой. Если отправить две транзакции с одинаковым nonce, то будет обработана та, у которой комиссия выше.
Порядок действий для замены транзакции:
- Откройте кошелек, который вы использовали для отправки исходной транзакции.
- Заполните поле "Получатель", указав адрес, на который вы хотите отправить монеты.
- Укажите сумму ETH для отправки. Измените значение поля "Сумма" с 0 на желаемое количество.
- Если вы отправляете ETH, используйте лимит газа 21000. Если отправляете токены, увеличьте лимит до 100000. В противном случае оставьте значение по умолчанию.
- Увеличьте поле "Цена газа" на 10 GWEI по сравнению с вашей предыдущей транзакцией. Для срочных транзакций можно увеличить это значение еще больше.
- Убедитесь, что поле nonce совпадает с тем, которое использовалось в исходной транзакции.
- Нажмите "Отправить транзакцию".
- Получите хеш новой транзакции и проверьте статус, нажав на ссылку. Если результат не отображается сразу, обновите страницу через несколько минут.
Как отменить транзакцию
Для того чтобы предотвратить включение предыдущей транзакции в блокчейн, вы можете отправить транзакцию на 0 ETH на собственный адрес с тем же nonce.
Порядок действий для отмены транзакции:
- Зайдите на Etherscan.io или Ethplorer.io.
- Вставьте хеш вашей исходной транзакции.
- Если статус транзакции — Pending, попробуйте её отменить.
- Если транзакция не найдена, обновляйте страницу каждые несколько минут. Если это не сработает, вероятно, транзакция не была отправлена.
- Если статус транзакции — Success, отменить её уже невозможно.
- Если статус транзакции — Pending, войдите в кошелек (например, MEW), который вы использовали для исходной транзакции.
- Отправьте себе транзакцию на 0 ETH с тем же nonce.
- Нажмите "Отправить транзакцию".
- Подтвердите свое действие и получите хеш новой транзакции.
- Проверьте хеш новой транзакции и ее статус на Etherscan или Ethplorer.
Почему Child Pays for Parent (CPFP) не работает в Ethereum
В отличие от Bitcoin, в Ethereum невозможно ускорить транзакцию с помощью механизма Child Pays for Parent (CPFP). В Ethereum, для ускорения неподтвержденной транзакции, необходимо отправить ту же транзакцию с тем же nonce, но с более высокой ценой газа. Майнеры включат в блок только ту транзакцию, которая предложит лучшую комиссию. Две транзакции с одинаковым nonce не могут быть включены в блок.
Заключение
Механизм rеplace by Fee является удобным инструментом для ускорения или отмены неподтвержденных транзакций в Ethereum. Понимание работы с nonce и комиссией за газ позволит вам более эффективно управлять своими транзакциями и избежать задержек. Если вы столкнулись с проблемами при обменах через CrystalTrade, наша техническая поддержка готова помочь вам.