⚠️ Note: Proyek ini sedang dalam tahap pengembangan. Repo ini saya gunakan sebagai jurnal belajar harian untuk mendalami pengembangan Smart Contract menggunakan Foundry.
Proyek ini bertujuan untuk membangun sistem undian (lottery) yang sepenuhnya terdesentralisasi, otomatis, dan terbukti adil menggunakan infrastruktur Web3.
- Solidity: Logika Smart Contract.
- Foundry: Framework pengembangan (Forge, Cast, Anvil).
- Chainlink VRF: Untuk angka acak yang adil (Verifiable Randomness).
- Chainlink Automation: Untuk eksekusi otomatis tanpa intervensi manual.
- Inisialisasi Project & Struktur Folder.
- Inisialisasi Project & Struktur Folder.
- State Variables & Constructor (Entrance Fee).
- Fungsi
enterRaffle(Pendaftaran Peserta). - Integrasi Chainlink VRF (Random Number).
- Integrasi Chainlink Automation (Auto-pick winner).
- Unit Testing & Integration Testing.
- [?] Deployment Script ke Testnet (Sepolia).
src/: Kontrak utama (Raffle.sol).test/: Folder pengujian (akan segera diisi).script/: Script untuk deployment.
- license
- version
- imports
- errors
- interfaces, libraries, contracts
- Type declarations
- State variables
- Events
- Modifiers
- Functions
- constructor
- receive function (if exists)
- fallback function (if exists)
- external
- public
- internal
- private
- internal & private view & pure functions
- external & public view & pure functions
- Build proyek:
forge build
- Write deploy Scripts
- Note, these will not work on zkSync
- write test
- Local Chain
- Forked Tesnet
- Forked Mainnet