September 4, 2023

Разбираемся с газом ETH и минтим NFT через контракт

Инструкция о работе газа на эфире

С приходом Лондонского хард форка под названием «EIP 1559» в Августе 2021 года, механизм работы газа был изменён и до этого дня остаётся без изменений.

Шаг 1 | Настройки

Для того чтобы начать работу с газом, нам в первую очередь нужно включить «Расширенное управление газом» в нашем метамаске. Для того чтобы это сделать, нажимаем на картинку нашего профиля, переходим в «Настройки», после идём в секцию «Дополнительно» и включаем «Расширенное управление газом», всё довольно просто.

Шаг 2 | Режимы

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

После, нас перекидывает в следующее окно, где мы можем выбрать режим нашего газа. Если вы думаете что вы не успеете поменять газ, то просто выбирайте режим газа «🦍Агрессивный», однако это не гарантирует что ваша транзакция пройдёт! Чтобы в ручную изменить газ, нажимаем на кнопку «⚙ Дополнительно»

Шаг 3 | три неразрывных друга

Мы подошли наконец к самой интересной части гайда. Как только дело доходит до Base Fee, Priority Fee & Max Fee — многие люди перестают понимать, что происходит и просто ставят рандомные числа, надеясь что их транзакция пройдёт.

Это так не работает!

Max Priority Fee (Плата за приоритет) — плата за приоритет, в народе также «Чаевые майнеру», это газ который вы платите, чтобы майнер выбрал вашу транзакцию из пула других, чем больше вы поставите гвея, тем выше шансов, что майнер обработает вашу транзакцию. На фото отмечено зелёным цветом 🟢.


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

Max Gas Fee ( Максимальная газовая комиссия) — Максимальная газовая комиссия, это то сколько вы готовы заплатить в итоге майнеру. На фото отмечено красным цветом 🔴.

Максимальная газовая комиссия = плата за приоритет + газ лимит. Если, Максимальная газовая комиссия ниже чем плата за приоритет + газ лимит, то ваша транзакция просто не пройдёт, так как в таком случаи ваша транзакция просто застревает в блокчейне. Чтобы этого избежать, обычно используется следующая формула: ❗ Максимальная газовая комиссия = плата за приоритет + (2 *газ лимит)

Если вы интересно узнать почему именно эта формула, вы можете почитать эту статью - ссылка

Шаг 4 | как выигрывать газовые войны

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

Как найти середину?

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

Также, неважно профи вы или только новичок, возьмите себе в привычку анализировать свои ректы на газе, это сильно поможет вам в будущем.

Шаг 5 | финал

Теперь зная эти основы, можете смело идти минтить, зная основу, дальше с опытом вы научитесь замечать, что стоит минтить, а что нет, но это только с опытом.

Также я не сказал много нюансов, которые помогут улучшить ваш опыт работы с газом, потому что это всё ещё впереди и скоро вы о них узнаете в еще одной большой статье.

Инструкция Минта NFT по контракту Дабы не переписывать собственноручно держите на здоровье полезную инфу. Тут рассказывается про то как минтить NFT сейлы через их контракт. И про нюансы процесса.

Часть 1я | Зачем минтить через контракт?

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

Чтобы такого не случалось и вы всегда смогли заминтить, нужно минтить через контракт сейла, так как etherscan никогда почти не ляжет в отличие от обычного сайта + минт там проходит быстрее.

Часть 2я | Как же минтить через него

Шаг 1

Для начала нам нужно найти контракт сейла, который мы хотим минтить. Обычно разработчики сами его постят у себя в социальных сетях (discord/twitter), если они его не запостили, то контракт также можно найти через opensea. Если вы нашли сейл через icy/moby, то там всегда пишется контракт, не в зависимости какая у вас версия, платная или бесплатная.

Шаг 2

После того как мы узнали нужный нам контракт, нам нужно найти цену NFT и также максимальное количество, которое мы можем заминтить за одну транзакцию.

Для данного гайда я приведу в пример сейл Star Wolvez, который был на днях

Цена: 0.0888 eth

Максимум за транзакцию: 3 per tx

Теперь когда мы знаем нужные значения, мы переходим на контракт данного сейла.

Контракт Star Wolvez - ссылка

Шаг 3

Когда мы перешли на контракт, наш встречает следующее окно. Нам нужно перейти во вкладку "Сontract"


После перехода нажимаем "write contract"

Далее мы ищем вкладку, которая имеет название на подобии "public mint", "mint", "public", название зависит от выбора разработчика, но все они +/- похожи. Также, не забывайте подключить ваш metamask, иначе вообще не сможете отправить транзакцию. Чтобы это сделать, нажмите "Connect to Web3"

На фото сверху мы видим, что функция называется "mint", нажимаем на неё, у нас развёртывается окно.

Шаг 3

Как мы нажали, мы видим следующее окно

payableAmount(ether) - это количество eth, которое вы потратите для минта nft. Можно писать в формате 0.кол-во eth или просто .кол-во eth, никакой разницы нет. Так как мы минтим 3 nft, то мы вписываем .2664 eth (0.0888 * 3 = .2664)

numberOfTokens(unit256) - это количество nft, которое вы планируете купить. Сюда просто вставляте обычное число, в нашем случае просто пишем 3.

Когда мы ввели данные числа, нажимаем кнопку "Write". Если вы всё правильно ввели, то у вас высветится окно метамаска. Если окно не появляется, значит что вы где-то допустили ошибку.

Шаг 4

Если вы нажали "write" и метамаск вам пишет высокий газ, значит что сейл ещё не запустился. Снизу показан пример.

Если вы видите, что метамаск вам пишет адекватный газ ~50-200$, значит сейл уже начинался и можно минтить. После того как ваша транзакция завершится, нфт появятся в вашем opensea. На этом всё, далее я разберу нюансы.

Глава 3 | Нюансы

К сожалению не все сейлы можно минтить через контракт, из-за большего количества ботов, разработчики начали добавлять защиту в свои контракты - сигнатуры.

Снизу пример контракта с сигнатурой от Cool pets

Если вы видите доп значения, значит скорее всего вы не сможете заминтить через контракт, если вы конечно не кодер 👀

Глава 4 | Финал

Как мы видим, если разобраться, то минтить через контракт довольно просто, если вы всё правильно делайте.

Спасибо за внимание!