Study
Hardhat

Gas Reporter Plugin

Penjelasan

Plugin `hardhat-gas-reporter` (termasuk dalam hardhat-toolbox) menghasilkan laporan konsumsi gas otomatis setiap kali test dijalankan, mirip fitur `--gas-report` di Foundry tapi berbentuk plugin terpisah yang perlu diaktifkan lewat konfigurasi. Laporan mencakup gas rata-rata tiap fungsi contract, serta estimasi biaya deployment dalam USD jika dikonfigurasi dengan API harga gas dan harga ETH. Aktivasi cukup dengan menambahkan objek `gasReporter` di hardhat.config.js dan mengatur `enabled: true`, atau menjalankan test dengan environment variable `REPORT_GAS=true` tanpa mengubah config permanen.

Contoh Konsep

// hardhat.config.js
module.exports = {
  solidity: "0.8.20",
  gasReporter: {
    enabled: process.env.REPORT_GAS === "true",
    currency: "USD",
    coinmarketcap: process.env.CMC_API_KEY,
  },
};

# Jalankan test dengan gas report aktif tanpa ubah config:
# REPORT_GAS=true npx hardhat test

Praktikum

Aktifkan gas reporter di hardhat.config.js, lalu jalankan test suite SimpleBank dan identifikasi fungsi mana yang paling boros gas dari laporan yang dihasilkan.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Set `enabled` lewat environment variable (bukan hardcode true) supaya gas report tidak memperlambat setiap run test harian, hanya aktif saat memang dibutuhkan.