Lição 2

Понимание стоимости газа

С возвращением! Теперь, когда у Вас есть базовое понимание газа и Вы взаимодействовали с базовым смарт-контрактом, пришло время углубиться в тонкости стоимости газа. Этот урок проведет Вас через фундаментальные газовые операции в Ethereum и научит определять газовые затраты на операции в Remix IDE.

Основные операции с Ethereum & Затраты на газ

Операционные расходы

В Ethereum каждая операция имеет соответствующую стоимость газа. Некоторые типичные расходы включают:

  • Базовые затраты: Базовые операции, такие как сложение или установка переменной.
  • Затраты на память: Хранение или извлечение данных в памяти.
  • Затраты на хранение: Взаимодействие с состоянием Ethereum (например, обновление хранилища контрактов) - как правило, самое дорогое.

Это важно понимать, поскольку многие методы оптимизации газовой системы предполагают обмен более дорогих операций на более дешевые.

Определение затрат на газ в Remix

С помощью Remix становится значительно проще определить, сколько газа потребляет наш контракт.

Процедура

  1. Статический анализ: Перейдите на вкладку Анализ в Ремиксе (представленную значком микроскопа). Этот мощный инструмент даст представление о потенциальных "подводных камнях" и возможностях оптимизации в Вашем коде.

  2. Разверните & Взаимодействие: После развертывания Вашего контракта (как Вы это сделали в Уроке 1), при каждом взаимодействии будет отображаться оценка газа. Когда Вы вызываете функцию, используемый газ отображается на правой нижней панели.

  3. Панель подробностей: После развертывания или взаимодействия с функцией щелкните на стрелке вниз в журнале транзакций (внизу справа). Это расширяет журнал, показывая подробные расходы на газ для данной транзакции.

Практика: Определение тяжелых операций с газом

Давайте оценим примерный контракт и операции по нему:

Solidity
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.9;

contract GasDemo {
 uint256 public count;
 mapping(address => uint256) public balances;

 function increment() public {
        count += 1;
    }

    function updateBalance(uint256 newBalance) public {
        balances[msg.sender] = newBalance;
    }
}
  1. Разверните контракт GasDemo на Goerli Testnet через Remix.

  2. Взаимодействуйте с функцией инкремента несколько раз.

  3. Проверьте используемый газ в деталях транзакции.

  4. Теперь взаимодействуйте с функцией updateBalance, устанавливая различные балансы.

  5. Еще раз проверьте используемый газ.

Поразмышляйте:

  • Какая функция потребляет больше газа и почему?(Подсказка: Вы отобразили предполагаемый расход газа возле каждой функции)
  • Как обновление отображения сравнимо по количеству газа с инкрементированием простого счетчика?

Резюме & Подготовка к следующему уроку

Вы только что углубили свое понимание газовых тонкостей в смарт-контрактах Ethereum. Практикуясь с Remix, Вы сможете наглядно представить и понять, как различные операции влияют на общий объем газа по транзакции. В следующем уроке мы перейдем к методам оптимизации, где Вы узнаете, как сделать Ваши контракты более газоэффективными.

Оставайтесь любознательными и продолжайте экспериментировать!

Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.
Catálogo
Lição 2

Понимание стоимости газа

С возвращением! Теперь, когда у Вас есть базовое понимание газа и Вы взаимодействовали с базовым смарт-контрактом, пришло время углубиться в тонкости стоимости газа. Этот урок проведет Вас через фундаментальные газовые операции в Ethereum и научит определять газовые затраты на операции в Remix IDE.

Основные операции с Ethereum & Затраты на газ

Операционные расходы

В Ethereum каждая операция имеет соответствующую стоимость газа. Некоторые типичные расходы включают:

  • Базовые затраты: Базовые операции, такие как сложение или установка переменной.
  • Затраты на память: Хранение или извлечение данных в памяти.
  • Затраты на хранение: Взаимодействие с состоянием Ethereum (например, обновление хранилища контрактов) - как правило, самое дорогое.

Это важно понимать, поскольку многие методы оптимизации газовой системы предполагают обмен более дорогих операций на более дешевые.

Определение затрат на газ в Remix

С помощью Remix становится значительно проще определить, сколько газа потребляет наш контракт.

Процедура

  1. Статический анализ: Перейдите на вкладку Анализ в Ремиксе (представленную значком микроскопа). Этот мощный инструмент даст представление о потенциальных "подводных камнях" и возможностях оптимизации в Вашем коде.

  2. Разверните & Взаимодействие: После развертывания Вашего контракта (как Вы это сделали в Уроке 1), при каждом взаимодействии будет отображаться оценка газа. Когда Вы вызываете функцию, используемый газ отображается на правой нижней панели.

  3. Панель подробностей: После развертывания или взаимодействия с функцией щелкните на стрелке вниз в журнале транзакций (внизу справа). Это расширяет журнал, показывая подробные расходы на газ для данной транзакции.

Практика: Определение тяжелых операций с газом

Давайте оценим примерный контракт и операции по нему:

Solidity
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.9;

contract GasDemo {
 uint256 public count;
 mapping(address => uint256) public balances;

 function increment() public {
        count += 1;
    }

    function updateBalance(uint256 newBalance) public {
        balances[msg.sender] = newBalance;
    }
}
  1. Разверните контракт GasDemo на Goerli Testnet через Remix.

  2. Взаимодействуйте с функцией инкремента несколько раз.

  3. Проверьте используемый газ в деталях транзакции.

  4. Теперь взаимодействуйте с функцией updateBalance, устанавливая различные балансы.

  5. Еще раз проверьте используемый газ.

Поразмышляйте:

  • Какая функция потребляет больше газа и почему?(Подсказка: Вы отобразили предполагаемый расход газа возле каждой функции)
  • Как обновление отображения сравнимо по количеству газа с инкрементированием простого счетчика?

Резюме & Подготовка к следующему уроку

Вы только что углубили свое понимание газовых тонкостей в смарт-контрактах Ethereum. Практикуясь с Remix, Вы сможете наглядно представить и понять, как различные операции влияют на общий объем газа по транзакции. В следующем уроке мы перейдем к методам оптимизации, где Вы узнаете, как сделать Ваши контракты более газоэффективными.

Оставайтесь любознательными и продолжайте экспериментировать!

Exclusão de responsabilidade
* O investimento em criptomoedas envolve riscos significativos. Prossiga com cuidado. O curso não pretende ser um conselho de investimento.
* O curso é criado pelo autor que se juntou ao Gate Learn. Qualquer opinião partilhada pelo autor não representa o Gate Learn.