Study
Foundry

Struktur Project Foundry

Penjelasan

Project Foundry punya struktur folder yang sederhana dan langsung: `src/` berisi contract Solidity yang akan di-deploy, `test/` berisi file test (biasanya berakhiran `.t.sol`), dan `script/` berisi script deployment (berakhiran `.s.sol`). Semua file test dan script juga ditulis dalam Solidity, bukan bahasa lain — ini yang membedakan Foundry dari toolchain berbasis JavaScript. File `foundry.toml` di root project adalah pusat konfigurasi: menentukan versi compiler Solidity, optimizer, path folder, remapping dependency, hingga RPC endpoint untuk berbagai network. File ini menggantikan kombinasi beberapa file config yang biasanya dibutuhkan toolchain lain.

Contoh Konsep

hello_foundry/
├── foundry.toml       # konfigurasi project
├── src/
│   └── Counter.sol    # contract utama
├── test/
│   └── Counter.t.sol  # test dalam Solidity
├── script/
│   └── Counter.s.sol  # script deployment
└── lib/
    └── forge-std/      # dependency library standar

Praktikum

Buka foundry.toml pada project yang sudah dibuat, lalu tambahkan konfigurasi solc version 0.8.20 dan optimizer aktif dengan 200 runs.

Editor Latihan

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

Tips

Simpan semua override konfigurasi khusus (misal untuk CI) di profil terpisah dalam foundry.toml, bukan mengubah profil default — ini memudahkan switch environment tanpa mengubah file.