Как рассчитать комиссию за газ при обмене на Uniswap?

Согласно газовому трекеру на Etherscan, средняя цена на газ составляет 212 gwei, а средняя оценка свопа Uniswap составляет 70,26 доллара США, что означает, что плата за газ составляет около 201 101. Насколько мне известно, плата за газ при свопе составляет 21 000
или около того. Какие другие операции связаны с обменом Uniswap, которые сжигают дополнительный газ?

Ответы (2)

Насколько я знаю, обмен газа стоит 21 000 или около того.

Перевод между двумя EOA (т. е. обычными учетными записями кошелька) составляет 21 000 газа.

Как только вы включаете смарт-контракты в уравнение, стоимость газа увеличивается: каждый код операции, связанный с каждым шагом в выполнении смарт-контракта, влечет за собой затраты. (Как указано в Приложении G к Желтой книге .)

На самом деле не углубляясь в коды операций, связанные с операцией обмена Uniswap (v2), просто взглянув на пример транзакции, можно понять, что при обмене с токена A на токен B происходит много всего.

Как правило, это процесс из трех частей (это для swapExactTokensForTokens()пути):

  1. Пользователь передает токен A в Uniswap, где он конвертируется в обернутый ETH (WETH).
  2. WETH заменяется на токен B
  3. Токен B передается пользователю

Однако, если вы посмотрите немного глубже на приведенный выше пример, этот процесс, состоящий из трех частей, на самом деле включает 13 внутренних транзакций (т. е. сообщений между контрактами) — там много чего происходит.

(Если хотите копнуть глубже, то контракты v2 здесь: https://github.com/Uniswap/uniswap-v2-core )

Плата за газ складывается из:

  • Необходимое количество газовых установок
  • Цена за единицу газа, в гвэй
  • Цена gwei в ETH (всегда миллиардная часть эфира = 10e-9 ETH)
  • Цена ETH, скажем, в долларах США

Возьмем пример. Мы перемещаем ETH между двумя кошельками стандартным способом. Как вы заметили, это (всегда) 21 000 газа. Предположим, что плата за газ (количество gwei для покупки одной единицы газа) составляет 100, а цена ETH — 4000.

USD price = 21,000 * 100 * 10e-9 * 4000 = $8.4

Теперь давайте рассмотрим более реалистичный пример. Из панели управления DeFi я вижу, что средняя цена газа для UniSwap v2 составляет 159 709. Согласно графикам Ethereum Gas, средняя цена в это время суток для этого дня недели составляет 134 gwei. Цена эфира 4701.

USD price = 159,709 * 134 * 10e-9 * 4701 = $100