Forge Script untuk Deployment
Penjelasan
Forge script adalah cara Foundry melakukan deployment: file Solidity berakhiran `.s.sol` di folder `script/`, meng-inherit contract `Script` dari forge-std, dan membungkus logika deployment di dalam `vm.startBroadcast()` / `vm.stopBroadcast()`. Semua pemanggilan di antara kedua fungsi itu akan benar-benar dikirim sebagai transaksi ke network saat dijalankan. Script dijalankan lewat `forge script <path> --rpc-url <url> --broadcast`. Tanpa flag `--broadcast`, Forge hanya melakukan dry-run (simulasi) tanpa mengirim transaksi sungguhan — cara aman untuk memastikan script berjalan benar sebelum deploy ke network asli.
Contoh Konsep
// script/Counter.s.sol
import "forge-std/Script.sol";
import "../src/Counter.sol";
contract CounterScript is Script {
function run() external {
vm.startBroadcast();
Counter counter = new Counter();
counter.setNumber(10);
vm.stopBroadcast();
}
}
Praktikum
Jalankan script CounterScript ke local node anvil (http://127.0.0.1:8545) dengan flag --broadcast.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Selalu jalankan script tanpa `--broadcast` dulu (dry-run) untuk melihat simulasi gas dan hasil, sebelum menambahkan flag itu ke deployment sungguhan.