Hardhat Network & console.log dari Solidity
Penjelasan
Hardhat Network adalah blockchain lokal built-in yang otomatis aktif saat menjalankan test atau script tanpa perlu proses terpisah (mirip anvil di Foundry, tapi terintegrasi langsung ke proses Hardhat). Ia menyediakan 20 akun test dengan saldo besar dan mendukung fitur developer seperti mining instan dan snapshot state. Salah satu fitur unik Hardhat adalah kemampuan memanggil `console.log()` langsung dari dalam kode Solidity (lewat import `hardhat/console.sol`), yang hanya berfungsi saat dijalankan di Hardhat Network — output-nya muncul di terminal tempat test/script dijalankan, sangat membantu debugging tanpa perlu debugger kompleks.
Contoh Konsep
// contracts/Counter.sol
pragma solidity ^0.8.20;
import "hardhat/console.sol";
contract Counter {
uint256 public number;
function increment() public {
console.log("Number sebelum increment:", number);
number++;
console.log("Number sesudah increment:", number);
}
}
Praktikum
Tambahkan console.log ke fungsi withdraw pada contract SimpleBank untuk menampilkan alamat pemanggil dan jumlah yang ditarik, lalu jalankan test dan amati output di terminal.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Jangan lupa hapus atau komentari semua pemanggilan console.log sebelum deploy ke mainnet — import hardhat/console.sol menambah bytecode dan hanya berguna di lingkungan development.