Материал проверен 28 октября 2026?
БК

ГЛАВНАЯ / ИНСТРУКЦИИ / GAS REFUND В ETHEREUM: ПОЧЕМУ ОТОБРАЖАЕМАЯ ОЦЕНКА МОЖЕТ ИЗМЕНИТЬСЯ

Gas refund в Ethereum: почему отображаемая оценка может измениться

Словом gas refund называют несколько разных вещей. Кошелёк может показать оценку исполнения, отправитель задаёт максимальный лимит, протокол возвращает неиспользованный аванс, а отдельный счётчик EVM уменьшает итоговый расход лишь в разрешённых случаях. Чтобы понять изменение цифры, сначала выясните, какое именно значение показывает интерфейс.

Три разных значения

Оценка, лимит и возврат не являются одной суммой

Оценка gas обычно прогнозирует вычислительный бюджет вызова по симуляции. Gas limit задаёт максимум, который транзакция может использовать. После включения receipt показывает фактический gasUsed. Если исполнения хватило меньше лимита, неизрасходованная часть предварительно зарезервированного ETH не становится комиссией: окончательный расчёт основывается на фактическом расходе и применимой цене газа.

Для EIP-1559 maxFeePerGas – верхняя граница цены за единицу, а effective gas price определяется условиями блока. Не следует умножать максимальный лимит на максимальную цену и называть результат фактически уплаченной комиссией: это верхняя оценка средств, которые должны быть доступны для отправки.

ПолеЧто означаетГде сверить
EstimateПрогноз для смоделированного вызоваКошелёк или eth_estimateGas
Gas limitМаксимальный бюджет транзакцииПодписанные параметры
Gas usedФактический учтённый расходReceipt
Effective gas priceЦена за единицу при включенииReceipt или данные блока
Протокольный возврат

EVM refund counter – отдельное правило расчёта

Некоторые операции изменения состояния исторически могли увеличить счётчик gas refund. Это не выдача ETH внутри контракта и не запас газа, которым можно расплатиться до завершения вызова. Протокол учитывает допустимый refund при итоговом расчёте транзакции после исполнения.

EIP-3529 сократил такие refunds и установил предел в одну пятую gas, использованного транзакцией, отменив возврат за SELFDESTRUCT. Эта граница касается счётчика возврата, а не обычного возврата неиспользованного аванса из-за разницы между лимитом и расходом. Правила другой EVM-сети и последующих обновлений нужно читать отдельно.

Почему меняется оценка

Симуляция может увидеть не то состояние, которое встретит транзакция

Оценка строится на конкретном состоянии сети и конкретных параметрах вызова. До включения могут измениться балансы, allowance, резервы пула, блоки или порядок транзакций. В результате путь исполнения может потратить больше или меньше газа, а иногда вызов вместо успеха завершится revert. Кошелёк также может обновить прогноз после изменения calldata или выбранной сети.

Разделяйте изменение количества gas и изменение цены. Результат исполнения влияет на gasUsed; база комиссии и приоритетная надбавка влияют на стоимость использованной единицы. Плавающая оценка цены сама по себе не означает, что изменился объём вычислений.

  • сравните входные поля до и после оценки;
  • учтите состояние и порядок операций в блоке.
Проверка

Фактический расход устанавливают после включения

Откройте transaction hash в обозревателе правильной сети и найдите receipt. Сверьте gasUsed, effective gas price или эквивалентные поля клиента и статус. Для неуспешного вызова тоже может быть комиссия: работа до revert оплачивается, а состояние вызова откатывается по правилам EVM. Детали возврата средств и отображения суммы зависят от конкретного клиента.

Сохраните оценку до отправки и поля receipt после включения. Если числа отличаются, сравните calldata, состояние блока симуляции, параметры лимита и цену единицы. Не пытайтесь восстановить протокольный refund только из показанной комиссии: обычный receipt обычно сообщает итоговый расход, а не всю внутреннюю арифметику счётчика.

  • сохраните снимок estimate до подписи;
  • после включения используйте gasUsed из receipt.
FAQ

Частые вопросы

Возвращается ли весь неиспользованный gas limit?

В лимите задаётся максимум. Комиссия рассчитывается по фактическому расходу и применимой цене, а не автоматически по всему лимиту.

Gas refund counter – это перевод ETH пользователю?

Нет. Это учитываемое при завершении исполнения правило протокольного расчёта газа.

Почему после симуляции gasUsed оказался другим?

Могли измениться состояние и порядок операций; кроме того, транзакция или данные вызова могли отличаться от симуляции.

Взимается ли комиссия при status 0?

Да. Неуспешная включённая транзакция может потратить газ на работу до отката.

Действует ли EIP-3529 одинаково во всех сетях?

Нет. Проверяйте спецификацию и обновления именно той сети, где отправлена транзакция.

Итоговая проверка

Чек-лист: gas refund в ethereum: почему отображаемая оценка может измениться

  • сеть и точный вызов подтверждены;
  • estimate не принят за фактическое списание;
  • gas limit не смешан с gasUsed;
  • max fee отличён от effective gas price;
  • значение refund уточнено по контексту;
  • после блока прочитан receipt;
  • при status 0 учтена комиссия за исполнение.

Материал подготовлен редакцией сайта и проверен 28 октября 2026 года. Условия бирж, кошельков и блокчейн-сетей могут меняться. Перед операцией сверяйте данные в интерфейсе выбранного сервиса.