Gas — это единица измерения стоимости выполнения операций в сети Ethereum.
Каждая транзакция или выполнение контракта требует использования вычислительных мощностей Ethereum, за это пользователи платят комиссии называемыми газом (gas fee).
Цена за газ оплачиваются в эфире (ETH), но для удобства записываются в единицах измерения Gwei.
Gwei равен 0,000000001 ETH (10-9 ETH). Вместо записи 0,000000001 ETH, мы просто говорим 1 Gwei, что куда более лаконично и удобно.
В Ethereum газ используется для контроля использования вычислительной мощности, памяти и сетевой пропускной способности, необходимых для выполнения той или иной операции.
Если стоимость транзакции превышает количество газа, которое указал отправитель, транзакция не будет выполнена.
На картинке мы видим как в кошельке Metamask можно изменить количество gas за отправку транзакции.
От чего зависит стоимость Gas?
Как вы уже поняли стоимость транзакции в первую очередь зависит от сложности операции, которую предстоит выполнить. Второй фактор - нагруженность сети, чем больше нагрузки испытывает в конкретный момент Ethereum, тем больше будет цена за единицу Gas.
Расчет полной комиссии за транзакцию выполняется по следующей формуле: Gas units (limit) * (Base fee + Tip)
- Gas Units (limit) - Максимальное количество единиц Gas, которое вы готовы заплатить в конкретной транзакции.
- Base Fee (Max) - Максимальное количество GWEI, которые вы готовы платить за единицу Gas. Разница между максимальной базовой комиссией и фактической (после выполнения транзакции) возвращается.
- Tip - Плата за приоритет или чаевые. (Влияет на приоритетность обработки транзакции)
К счастью для вас, MetaMask рассчитывает приблизительную плату за газ, которую вы должны установить для себя, исходя из того, как быстро вы хотите, чтобы ваша транзакция была подтверждена.
Примеры использования Gas
- Отправка эфира (ETH) с одного кошелька на другой требует определенного количества газа. Если установлена слишком низкая цена за единицу газа, транзакция может занять много времени или вообще не выполниться.
- Выполнение и деплой контрактов также требует использования газа. Если контракт содержит операции, которые требуют большого количества ресурсов, стоимость выполнения контракта может быть очень высокой.
- Обновление данных в блокчейне также требует использования газа. При этом чтение информации (view функции) исполняются бесплатно.
Вывод
Gas позволяет установить предсказуемые затраты на выполнение операций в сети Ethereum и защищает ее от злоупотреблений и DDoS-атак. Умение правильно выставлять цену за газ и количество необходимого газа для выполнения операций может сэкономить вам значительную сумму денег, особенно при деплое больших смарт-контрактов.
Подпишись и получи доступ к бесплатным курсам и обучающим материалам от Solidity University! Изучай Solidity и Блокчейн Разработку вместе с нами!