Study
Hardhat

Task Kustom (Hardhat Task)

Penjelasan

Hardhat memiliki sistem task yang bisa diperluas — setiap perintah bawaan seperti `compile` atau `test` sebenarnya adalah task, dan kita bisa membuat task baru sendiri sesuai kebutuhan project lewat `task()` di dalam hardhat.config.js. Ini berguna untuk membuat shortcut operasi berulang, misal task khusus untuk mencetak saldo semua akun atau mint token testing. Task didefinisikan dengan nama, deskripsi, parameter opsional, dan fungsi async yang dijalankan. Task kustom otomatis muncul di `npx hardhat help` dan bisa dipanggil persis seperti task bawaan lewat `npx hardhat <nama-task>`.

Contoh Konsep

// hardhat.config.js
const { task } = require("hardhat/config");

task("accounts", "Cetak daftar akun yang tersedia").setAction(
  async (taskArgs, hre) => {
    const accounts = await hre.ethers.getSigners();
    for (const account of accounts) {
      console.log(account.address);
    }
  }
);

// Jalankan: npx hardhat accounts

Praktikum

Buat task kustom bernama 'balance' yang menerima parameter address dan mencetak saldo ETH dari address tersebut di network yang sedang aktif.

Editor Latihan

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

Tips

Gunakan `hre` (Hardhat Runtime Environment) yang diberikan sebagai parameter kedua fungsi task untuk mengakses ethers, network, dan config — jangan import ethers langsung di file konfigurasi.