February 14, 2022

Комиссии в сети Ethereum (ERC-20)

Любое взаимодействие с сетью эфира — перевод токенов, добавление/вывод ликвидности, обмен токенов — это транзакция, за которую нужно заплатить комиссию. Комиссия оплачивается в нативном токене сети эфира - ETH.

💸 Стоимость транзакции = цена газа (Gas Price) * лимит газа (Gas Limit).

Рассмотрим эти компоненты отдельно.

Цена газа (gwei)

Цена на газ измеряется в gwei.

1 gwei = 0.000000001 ETH, то есть это маленькая частичка эфира. 

Gwei — это цена, которую вы готовы заплатить за каждую единицу газа. Следовательно, чем выше гвей, тем выше стоимость транзакции. И тем быстрее она будет обработана, так как отдается первенство транзакциям с наивысшим гвеем.

Gwei зависит от загруженности сети. Чем более загружена сеть, тем выше значения gwei.

Лимит газа (gas limit)

Лимит газа — это максимальное количество единиц газа, которое может быть использовано данной транзакцией. Он автоматически указывается с запасом, так как фактически транзакция использует ровно столько единиц газа, сколько нужно.

Лимит газа зависит от сложности транзакции (к загруженности сети не имеет отношения!).

Чем более “сложная” транзакция, тем более дорогой она будет, так как для её выполнения требуется больше ресурсов.

⛽ Примерные значения лимита газа для самых распространённых транзакций:

  • 21 000 — перевод ETH
  • 40 000-100 000 — перевод других ERC-20 токенов, unlock токена
  • 100 000-250 000 — обмен на децентрализованной бирже (Uniswap, Balancer)
  • 250 000 и выше — сложные транзакции (покупка на сейле, добавление/вывод ликвидности, обмен через агрегатор ликвидности по типу 1inch)

Отправка транзакции

Для удобства включите “Расширенное управление газом” в метамаске, это позволит выставлять значения gwei и gas limit вручную при подтверждении транзакции. (Настройки — Дополнительно — Расширенное управление газом — вкл.)

Текущий гвей смотрим на сайте: ethgasstation.info

  • Для сейлов с покупкой на скорость ставим минимум +100 от значения FAST.
  • Для быстрой повседневной транзакции будет достаточно значения STANDARD.
  • Если вы готовы подождать дольше, можете брать значение SAFE LOW.

Лимит газа выставляется автоматически кошельком, его не стоит менять вручную. 

⚠️ Независимо от того, успешная транзакция или нет, вы уплачиваете комиссию за обработку транзакции.

Когда вы укажете желаемый gwei, Метамаск подсчитает стоимость транзакции в эфире (gwei * gas limit) и ниже покажет сколько это в долларах по текущему курсу. Это максимальная стоимость данной транзакции, так как лимит газа выставляется “с запасом”. Но фактическая стоимость в основном меньше, так как транзакция использует не максимальное количество единиц газа (лимит газа), а меньше.

Примерную стоимость стандартных транзакций можно посмотреть на etherscan

Рассмотрим данные о комиссии в подробностях транзакции на etherscan:

  • Transaction fee: фактическая комиссия, которая была снята за данную транзакцию — в эфире и в долларах.
  • Gas price: цена на газ, которую вы установили — в эфире и в гвее.
  • Ether price: цена за 1 ETH в день совершения транзакции.
  • Gas limit: лимит газа, который был установлен при отправке транзакции (в единицах газа).
  • Gas used by transaction: количество единиц газа, которое было фактически затрачено на проведение данной транзакции. В скобках показано сколько процентов от установленного лимита газа было использовано.

Самые распространённые проблемы

🟥 Failed транзакция

Чаще всего возникает из-за маленького slippage (проскальзывание цены) или отказа смарт контрактом (например, токены на сейле раскупили и вы не успели купить).

🟥 Reverted транзакция

Возникает из-за логики смарт-контракта, примеры:

  • попытка покупки токена до начала сейла через смарт-контракт;
  • попытка совершить транзакцию, которая запрещена по логике смарт-контракта;
  • на uniswap установлен timeout на транзакцию (обычно, 20 минут). Если за это время транзакция не пройдёт, то она будет отменена.

Такие типы транзакции “сжигают” небольшую часть комиссии.

🟥 Слишком низкий лимит газа

Если по ошибке был выставлен слишком низкий лимит газа, то транзакция не пройдёт и выдаст ошибку “Out of gas”. В этом случае с вас возьмут полную стоимость комиссии.

Запросите транзакцию ещё раз, установив значение gas limit с запасом (предварительно проверив в деталях неудачной транзакции какое значение было слишком низким).

🟥 Неадекватно высокий лимит газа

Если в поле лимит газа автоматически выставилось значение 1 млн или больше, то скорее всего Метамаск некорректно подтянул лимит газа. Обновите страницу и запросите транзакцию ещё раз. Если значение и далее неадекватное, то установите безопасное значение 350-500 тыс. единиц газа. Всё равно транзакция возьмёт ровно столько, сколько нужно для её выполнения.

Обучение по криптоинвестированию https://coin-side.com