В Ethereum каждая операция имеет соответствующую стоимость газа. Некоторые типичные расходы включают:
Это важно понимать, поскольку многие методы оптимизации газовой системы предполагают обмен более дорогих операций на более дешевые.
С помощью Remix становится значительно проще определить, сколько газа потребляет наш контракт.
Статический анализ: Перейдите на вкладку Анализ
в Ремиксе (представленную значком микроскопа). Этот мощный инструмент даст представление о потенциальных "подводных камнях" и возможностях оптимизации в Вашем коде.
Разверните & Взаимодействие: После развертывания Вашего контракта (как Вы это сделали в Уроке 1), при каждом взаимодействии будет отображаться оценка газа. Когда Вы вызываете функцию, используемый газ отображается на правой нижней панели.
Панель подробностей: После развертывания или взаимодействия с функцией щелкните на стрелке вниз в журнале транзакций (внизу справа). Это расширяет журнал, показывая подробные расходы на газ для данной транзакции.
Давайте оценим примерный контракт и операции по нему:
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;
}
}
Разверните контракт GasDemo
на Goerli Testnet через Remix.
Взаимодействуйте с функцией инкремента
несколько раз.
Проверьте используемый газ в деталях транзакции.
Теперь взаимодействуйте с функцией updateBalance
, устанавливая различные балансы.
Еще раз проверьте используемый газ.
Поразмышляйте:
Вы только что углубили свое понимание газовых тонкостей в смарт-контрактах Ethereum. Практикуясь с Remix, Вы сможете наглядно представить и понять, как различные операции влияют на общий объем газа по транзакции. В следующем уроке мы перейдем к методам оптимизации, где Вы узнаете, как сделать Ваши контракты более газоэффективными.
Оставайтесь любознательными и продолжайте экспериментировать!
В Ethereum каждая операция имеет соответствующую стоимость газа. Некоторые типичные расходы включают:
Это важно понимать, поскольку многие методы оптимизации газовой системы предполагают обмен более дорогих операций на более дешевые.
С помощью Remix становится значительно проще определить, сколько газа потребляет наш контракт.
Статический анализ: Перейдите на вкладку Анализ
в Ремиксе (представленную значком микроскопа). Этот мощный инструмент даст представление о потенциальных "подводных камнях" и возможностях оптимизации в Вашем коде.
Разверните & Взаимодействие: После развертывания Вашего контракта (как Вы это сделали в Уроке 1), при каждом взаимодействии будет отображаться оценка газа. Когда Вы вызываете функцию, используемый газ отображается на правой нижней панели.
Панель подробностей: После развертывания или взаимодействия с функцией щелкните на стрелке вниз в журнале транзакций (внизу справа). Это расширяет журнал, показывая подробные расходы на газ для данной транзакции.
Давайте оценим примерный контракт и операции по нему:
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;
}
}
Разверните контракт GasDemo
на Goerli Testnet через Remix.
Взаимодействуйте с функцией инкремента
несколько раз.
Проверьте используемый газ в деталях транзакции.
Теперь взаимодействуйте с функцией updateBalance
, устанавливая различные балансы.
Еще раз проверьте используемый газ.
Поразмышляйте:
Вы только что углубили свое понимание газовых тонкостей в смарт-контрактах Ethereum. Практикуясь с Remix, Вы сможете наглядно представить и понять, как различные операции влияют на общий объем газа по транзакции. В следующем уроке мы перейдем к методам оптимизации, где Вы узнаете, как сделать Ваши контракты более газоэффективными.
Оставайтесь любознательными и продолжайте экспериментировать!