Незалежний путівник · Крипто
Комісії Ethereum: розрахунок gas і додаткових витрат
Як рахувати gas-витрати в Ethereum за EIP-1559. Приклади для переказів та токенів, а також різниця між мережевими та сервісними зборами.

Чому це важливо
Точний розрахунок комісій вимагає розмежування витрат на виконання в мережі та сервісних зборів, використовуючи фактичне споживання газу, а не максимальні ліміти.
Розуміння структури комісій EIP-1559
Вартість транзакцій в Ethereum є динамічною і залежить від фактично використаного газу та поточних умов мережі. Стандарт EIP-1559 розділяє комісію на базову ставку (base fee) та пріоритетну комісію (priority fee). Базова ставка спалюється, тоді як пріоритетна комісія надходить валідаторам. Така структура робить вартість змінною, а не статичною.
Необхідно розрізняти максимальну комісію, яку ви готові сплатити, та фактично нараховану комісію. maxFeePerGas — це стеля, а не обов'язкова кінцева ціна. Фактична вартість визначається сумою базової ставки та ефективної пріоритетної комісії. Використання максимального ліміту як оцінки витрат може завищити реальні витрати, але за високого навантаження на мережу воно може збігатися з фактичною комісією.
Формула для відтворюваного розрахунку
Для ставки, вираженої в gwei, комісія за виконання в ETH = фактично використаний газ * (базова ставка + ефективна пріоритетна комісія) * 10^-9. Один gwei дорівнює 10^-9 ETH. Оцінка вартості в валюті — це окреме множення з використанням чітко позначеного припущення про курс або котирування з часовою міткою. Усі оцінки нижче використовують гіпотетичний курс 2500 EUR за 1 ETH, а не поточну ціну.
Цей розрахунок стосується лише шару виконання. Він не включає комісії за виведення з біржі, витрати на містки (bridges) або прослизання (slippage). Це окремі статті витрат. Якщо ви додасте їх до вартості газу, не перевіривши, чи включені вони вже в ціну, ви подвоїте витрати. Завжди переконуйтесь, чи включає вказана ціна мережеву комісію чи додає її окремо.
Сценарій A: Простий переказ ETH
Припустімо, що гіпотетичний переказ використовує 21000 газу, з базовою ставкою 10 gwei та ефективною пріоритетною комісією 2 gwei. Його комісія за виконання становить 21000 * (10 + 2) * 10^-9 = 0.000252 ETH. Це приклад виконання в Ethereum, а не універсальний ліміт газу для всіх переказів чи мереж.
Щоб виразити це в євро, ми використовуємо ілюстративну оцінку 2,500 EUR за 1 ETH. Множення 0.000252 на 2,500 дає 0.63 EUR. Це гіпотетичний приклад. Поточні ціни коливаються. Не сприймайте 2,500 EUR як актуальну ринкову ставку. Головне — метод: помножте газ на ефективну ставку, а потім конвертуйте.
Сценарій B: Вартість переказу токенів
Для другої гіпотетичної взаємодії з контрактом припустімо 65000 газу, базову ставку 18 gwei та ефективну пріоритетну комісію 2 gwei. Комісія за виконання = 65000 * (18 + 2) * 10^-9 = 0.0013 ETH. Кількість газу є зазначеним припущенням, а не фіксованим збором для всіх переказів токенів.
Використовуючи той самий ілюстративний курс 2,500 EUR/ETH, вартість становить 3.25 EUR. Це демонструє, як споживання газу масштабується зі складністю. Однак ви не можете припускати, що кожен переказ токенів використовує 65,000 газу. Деякі дешевші, деякі дорожчі. Завжди перевіряйте конкретну оцінку газу для виконуваної взаємодії з контрактом.
Розмежування сервісних зборів
Багато платформ додають сервісний збір поверх мережевої комісії. У нашому гіпотетичному прикладі припустімо сервісний збір у розмірі 0.0005 ETH. За курсом 2,500 EUR/ETH це 1.25 EUR. Якщо цей збір нараховується додатково до мережевої комісії, загальна вартість для Сценарію B становить 0.0013 + 0.0005 = 0.0018 ETH. Це дорівнює 4.50 EUR. Мережева комісія — лише частина загальної вартості.
Якщо сервісний збір уже включає мережеву комісію, ви не повинні додавати вартість газу знову. Подвійне нарахування — поширена помилка. Ретельно читайте умови. Чи вказано в оцінці «плюс мережеві комісії» чи «все включено»? Це розрізнення суттєво змінює вашу загальну вартість. Завжди перевіряйте структуру тарифікації перед підтвердженням транзакції.
Перевірка фактичних витрат після транзакції
Після виконання квитанція (receipt) надає значення gasUsed та effectiveGasPrice. Сире значення effectiveGasPrice зазвичай вказується в wei: комісія за виконання в ETH = gasUsed * effectiveGasPrice / 10^18. Отже, 21000 * 12000000000 / 10^18 = 0.000252 ETH. Множник 10^-9 слід використовувати лише після конвертації курсу в gwei; плутання цих одиниць призводить до помилки в мільярд разів.
Невдале виконання в мережі все одно може споживати газ. Арифметика виконання в Ethereum не є універсальною формулою комісій для Bitcoin або шару-2; в інших системах можуть діяти додаткові збори за дані. Оцінка комісії не гарантує часу включення в блок чи часу зарахування коштів сервісом. Перевіряйте мережу, одиниці в квитанції, обсяг комісії та збори провайдера окремо.
Що перевірити
- Визначте точний ліміт газу та фактично використаний газ для конкретного типу транзакції.
- З'ясуйте, чи включає вказана комісія вартість мережевого газу чи додає її окремо.
- Використовуйте ефективну ціну газу з квитанції для точного аналізу після транзакції.
- Конвертуйте вартість в ETH у місцеву валюту, використовуючи актуальну, чітко позначену спотову ціну.
Джерела
Перевірено: . Зовнішні джерела відкриваються в новій вкладці.
- Gas and feesEthereum.org
- EIP-1559: Fee market changeEthereum Improvement Proposals