第2課

Розуміння витрат на газ

З поверненням! Тепер, коли ви маєте фундаментальне розуміння газу та взаємодієте з базовим смарт-контрактом, настав час глибше заглибитися в тонкощі витрат на газ. Цей урок допоможе вам ознайомитися з основними газовими операціями в Ethereum і навчить вас, як визначати витрати газу на операції в Remix IDE.

Основні операції з Ethereum і витрати на газ

Операційні витрати

В Ethereum кожна операція має пов’язану вартість газу. Деякі типові витрати включають:

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

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

Визначення витрат на газ у реміксі

З Remix стає значно простіше розпізнати газ, який споживає діяльність нашого контракту.

Процедура

  1. Статичний аналіз: перейдіть до вкладки Analysis у Remix (позначено піктограмою мікроскопа). Цей потужний інструмент надасть уявлення про потенційні підводні камені та можливості оптимізації у вашому коді.

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

  3. Панель деталей: під час розгортання функції або взаємодії з нею клацніть стрілку вниз у журналі транзакцій (внизу праворуч). Це розгорне журнал із детальною інформацією про вартість газу для транзакції.

Практика: ідентифікація важких газових операцій

Оцінимо зразок договору та його дії:

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

 контракт GasDemo { 
 uint256 публічна кількість; 
 відображення (адреса => uint256) публічних балансів; 

 функція increment() public {
        count += 1;
    }

    функція updateBalance(uint256 newBalance) public {
        balances[msg.sender] = newBalance;
    }
}
  1. Розгорніть контракт GasDemo на Goerli Testnet через Remix.

  2. Взаємодійте з функцією increment кілька разів.

  3. Перевірте використаний газ у деталях транзакції.

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

  5. Ще раз перевірте використаний газ.

Розмірковувати над:

  • Яка функція споживає більше газу і чому? (Порада: біля кожної функції ви відобразили приблизну кількість спожитого газу)
  • Як оновлення відображення порівнюється з точки зору газу до збільшення простого лічильника?

Повторення та підготовка до наступного уроку

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

Залишайтеся цікавими та продовжуйте експериментувати!

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。
目錄
第2課

Розуміння витрат на газ

З поверненням! Тепер, коли ви маєте фундаментальне розуміння газу та взаємодієте з базовим смарт-контрактом, настав час глибше заглибитися в тонкощі витрат на газ. Цей урок допоможе вам ознайомитися з основними газовими операціями в Ethereum і навчить вас, як визначати витрати газу на операції в Remix IDE.

Основні операції з Ethereum і витрати на газ

Операційні витрати

В Ethereum кожна операція має пов’язану вартість газу. Деякі типові витрати включають:

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

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

Визначення витрат на газ у реміксі

З Remix стає значно простіше розпізнати газ, який споживає діяльність нашого контракту.

Процедура

  1. Статичний аналіз: перейдіть до вкладки Analysis у Remix (позначено піктограмою мікроскопа). Цей потужний інструмент надасть уявлення про потенційні підводні камені та можливості оптимізації у вашому коді.

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

  3. Панель деталей: під час розгортання функції або взаємодії з нею клацніть стрілку вниз у журналі транзакцій (внизу праворуч). Це розгорне журнал із детальною інформацією про вартість газу для транзакції.

Практика: ідентифікація важких газових операцій

Оцінимо зразок договору та його дії:

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

 контракт GasDemo { 
 uint256 публічна кількість; 
 відображення (адреса => uint256) публічних балансів; 

 функція increment() public {
        count += 1;
    }

    функція updateBalance(uint256 newBalance) public {
        balances[msg.sender] = newBalance;
    }
}
  1. Розгорніть контракт GasDemo на Goerli Testnet через Remix.

  2. Взаємодійте з функцією increment кілька разів.

  3. Перевірте використаний газ у деталях транзакції.

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

  5. Ще раз перевірте використаний газ.

Розмірковувати над:

  • Яка функція споживає більше газу і чому? (Порада: біля кожної функції ви відобразили приблизну кількість спожитого газу)
  • Як оновлення відображення порівнюється з точки зору газу до збільшення простого лічильника?

Повторення та підготовка до наступного уроку

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

Залишайтеся цікавими та продовжуйте експериментувати!

免責聲明
* 投資有風險,入市須謹慎。本課程不作為投資理財建議。
* 本課程由入駐Gate Learn的作者創作,觀點僅代表作者本人,絕不代表Gate Learn讚同其觀點或證實其描述。