Перейти к основному содержанию
Gas Profiler даёт разбивку потребления газа, показывая, как каждая функция внутри контракта использует газ при выполнении. В сочетании с Debugger и Simulator, Gas Profiler составляет ядро Developer Explorer. Gas profiler

Начало работы с Gas Profiler

  1. Откройте любую транзакцию со страницы со списком транзакций. Попробуйте эту пример-транзакцию.
  2. Перейдите в Gas Profiler в верхнем меню, чтобы получить доступ к интерактивной flame chart с детальной разбивкой расхода газа для каждой вызванной функции, включая внутренние транзакции.
  3. Кликните по любой функции, чтобы открыть детальный вид её расхода газа.
  4. Для более глубокого анализа откройте транзакцию в Debugger, чтобы определить точную строку кода в файле Solidity, отвечающую за выполнение.
Gas profiler

Оптимизация расхода газа

  1. Клик по вызову функции на flame chart отображает детальную информацию о расходе газа в нижней панели.
  2. Если вы подозреваете, что функция нуждается в оптимизации газа, нажмите кнопку View in Debugger, чтобы перейти к коду и оптимизировать его для снижения расхода газа.
  3. Чтобы убедиться, что изменения помогают снизить расход газа, вы можете симулировать ту же транзакцию с изменённым кодом и сравнить результаты профилирования газа.

Total gas и actual gas

Total Gas представляет общую стоимость выполнения в газе, включая сумму стоимостей всех вызванных опкодов. Actual Gas обозначает чистую стоимость выполнения в газе. Умноженная на gas_price, она даёт точную сумму, которую вы заплатили бы за это выполнение в wei. Формула расчёта Actual Gas: actual_gas_used = total_gas - gas_refund. Пользователи блокчейна получают вознаграждение за очистку хранилища в виде возврата газа за вызовы SSTORE, которые фактически «удаляют» существующие сохранённые данные. Эти возвраты газа вычитаются из Total Gas, давая в результате Actual Gas.