Tugas Akhir
Penjelasan
Saatnya menggabungkan seluruh materi Truffle yang sudah dipelajari — dari inisialisasi project, penulisan contract, sistem migration bernomor, test JavaScript dan Solidity, interaksi lewat truffle console, hingga deployment aman ke testnet dan verifikasi di block explorer. Tugas ini mensimulasikan alur kerja nyata pengembangan smart contract memakai Truffle Suite dan Ganache dari nol sampai live di testnet. Kerjakan bertahap: mulai dari `truffle init`, tulis contract, buat migration bernomor, tulis test JavaScript lengkap dengan pengecekan event, uji di Ganache lokal, lalu coba deploy ke testnet publik memakai Truffle Dashboard atau HDWalletProvider dengan environment variable yang aman.
Tugas
Buat project Truffle baru bernama 'simple_bank_truffle'. Tulis contract SimpleBank dengan fungsi deposit() (payable, meng-emit event Deposited), withdraw(uint256 amount) yang hanya bisa ditarik oleh depositor sendiri (meng-emit event Withdrawn) dan getBalance(address) view. Buat migration bernomor untuk men-deploy contract itu ke network development. Tulis test JavaScript yang mencakup: (1) test deposit dan withdraw normal dengan Ganache, (2) test bahwa event Deposited dan Withdrawn ter-emit dengan argumen benar, (3) test bahwa user lain tidak bisa menarik saldo user lain. Jalankan seluruh test dengan truffle test, lalu siapkan (tanpa harus benar-benar mengirim) konfigurasi network testnet di truffle-config.js memakai HDWalletProvider atau Truffle Dashboard.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Jalankan `truffle migrate --reset` tiap kali mengubah contract sebelum menjalankan `truffle test`, supaya migration deployed() di test selalu memakai versi kode terbaru, bukan artifact lama yang basi.