Gas War: как не упустить момент?
Что такое Gas War?
Плата за газ требуется для обработки транзакций при покупке или продаже NFT на блокчейне.
Плата за газ, также известная как плата за транзакцию, определяется базовой ценой, типом транзакции и активностью блокчейна. Как только вы инициируете транзакцию, она попадает в пул памяти, где майнеры подтверждают ее.
Майнеры отдают предпочтение транзакциям с более высокой платой за газ, подобно тому, как работают аукционы. Во время ажиотажного минта NFT спрос крайне высок, а предложение ограничено, что приводит к конкуренции между покупателями.
Пример: Имеется 7 777 доступных NFT для минта по цене 0.07 ETH, и в настоящее время они продаются на OpenSea по цене 1,5 ETH. 7 777 самых быстрых транзакций будут успешными, остальные же будут либо отклонены, либо обработаны с ошибкой
Настройка Metamask
Для начала мы должны настроить MetaMask для продвинутой работы с газом
Транзакция
Для редактирования значений мы должны открыть окно транзакции:
Работа с переменными – Base Fee, Priority Fee & Max Fee
- «Gas limit» (Лимит газа) — это максимальная плата, которую пользователь готов заплатить за отправку транзакции или выполнение функции смарт-контракта. Она измеряется в «gas units» и выступает в качестве защитного механизма от ошибок или багов в смарт-контрактах.
Для транзакции в сети ETH обычно требуется лимит газа не менее 21 000 единиц, но более высокие лимиты и цены на газ приводят к ускорению транзакций и увеличению комиссии.
Конверсионная таблица GWEI -> ETH
Данное значение нужно редактировать только в том случае, если вы работаете с калькулятором (см. ниже) во всех же остальных случаях система определит значение автоматически
- Базовая комиссия — каждый блок имеет базовую плату, которая выступает в качестве резервной цены. Чтобы быть включенным в блок, предлагаемая цена за газ должна быть как минимум равна базовой комиссии.
Расчет полной комиссии за транзакцию выполняется следующим образом: Gas units (Лимит газа) * (Base fee + Плата за приоритет)
Узнать значение базовой комиссии вы можете на сайте
- Плата за приоритет — Обновление «London» сети Ethereum внедрило плату за приоритет, чтобы стимулировать майнеров включать транзакцию в блок. Для транзакций, которые должны выполняться преимущественно перед другими транзакциями в том же блоке, потребуется более высокая плата, чтобы попытаться обойти конкурирующие транзакции.
- Максимальная базовая комиссия — Чтобы выполнить транзакцию в сети, пользователи могут указать максимальный лимит, который они готовы заплатить за выполнение своей транзакции. Чтобы транзакция была выполнена, максимальная плата должна превышать сумму «базовой комиссии» и «платы за приоритет».
Формула для определения оптимального значения — Max Fee = (2 * Базовая комиссия) + Плата за приоритет
Работа с калькулятором
Для чего нам нужен калькулятор газа?
Калькулятор газа вычисляет сумму затрат при тех или иных значениях
- Переходим на сайт
Перед вами появится окно с несколькими полями, давайте рассмотрим каждое из них:
- Gas Limit Used Per Mint — введите общее количество газа, используемого для минта одного экземпляра (ранее Gas Limit)
- Mint Cost — стоимость минта одного экземпляра (пример — 0.22 $ETH за 1 NFT "Momoguro")
- Mint Amount — введите, сколько NFT вы собираетесь минтить за одну транзакцию (пример — 2 NFT за 1 транзакцию)
- Option 1: Target Max GWEI — введите планируемую цену GWEI, чтобы узнать ожидаемую стоимость в ETH (ранее Max Fee)
- Option 2: Target Spend in Eth Per Mint — введите целевую сумму ETH, которую вы хотите потратить на оплату транзакции (включая стоимость минта), чтобы узнать, сколько GWEI нужно использовать (пример — 0.22 $ETH за 1 NFT + 0.1 $ETH на покрытие комиссионных сборов)
Если вам уже известен контракт NFT-коллекции, которую вы собираетесь минтить, мы можем взять значение Gas Limit Used Per Mint из Etherscan
Рассмотрим пример с коллекцией Kaiju Frenz:
- Переходим на Opensea коллекции
- Нажимаем на любую NFT
Важно учесть, что в нашей транзакции был приобретен 1 экземпляр NFT, если вам нужно значение для >2 NFT, прибавьте 15 000-20 000 за каждую NFT.
- Gas Limit Used Per Mint — 123 367 за одну Kaiju Frenz NFT
- Mint Cost — 0.12 за одну Kaiju Frenz NFT
- Mint Amount — 1 экземпляр
- Option 1: Target Max GWEI — используем формулу (Max Fee = (2 * Базовая комиссия) + Плата за приоритет), получаем значение 70 GWEI
- Option 2: Target Spend in Eth Per Mint — вводим максимальную сумму, которую мы готовы потратить (с учетом цены минта), к примеру 0.14 $ETH
На боковой панели вы увидите 2 значения:
- Первое значение покажет ожидаемую стоимость транзакции при указанных значениях
- Второе значение покажет какое значение Max Fee нужно установить в Metamask, чтобы потратить указанное количество $ETH
Сохраняем значения для будущих транзакций
После того, как мы определились со всеми значениями, мы должны отредактировать их заранее, чтобы не тратить время впустую в процессе минта.
Важно! Эти значения следует применять только перед значимыми минтами, не забудьте вернуть базовые показатели после завершения работы
Инструменты
Blocknative — данный инструмент позволит определить текущее значение Base Fee в блоке и подскажет какие значения Max Fee и Priority Fee будут оптимальными.
Одобряем коллекцию заранее
Для чего нужно одобрять коллекции заранее?
- Переходим на Etherscan
- Вставляем адрес кошелька в текстовое поле
- Производим поиск
Если транзакция с методом «Set Approval For» отсутствует в кошельке, попробуйте одобрить любой из ваших токенов на Uniswap
- Переходим на контракт проекта (в нашем случае это Kaiju Frenz)
- Нажимаем на пункт "Contract"
- Переходим в раздел "Write contract"