CloudVote Web3 Voting System
Aplikasi voting terdesentralisasi yang aman dan transparan di blockchain Ethereum.
Bagikan proyek ini:
Tentang Proyek
๐ณ๏ธ CloudVote - Web3 Voting System
CloudVote adalah aplikasi voting terdesentralisasi yang dibangun di atas blockchain Ethereum (Sepolia Testnet). Proyek ini memastikan proses pemungutan suara yang aman, transparan, dan tidak dapat diubah (immutable), sangat cocok untuk keputusan komunitas atau pemilihan skala kecil.
Proyek ini mengimplementasikan Registrasi Menjaga Privasi di mana nama pemilih di-hash sebelum disimpan secara on-chain, memastikan identitas terlindungi sambil tetap menjaga integritas suara.
โจ Fitur Utama
- Infrastruktur Terdesentralisasi: Tidak ada otoritas pusat yang dapat memanipulasi hasil.
- Menjaga Privasi: Nama pemilih di-hash (Keccak-256) sebelum disimpan di blockchain.
- Ketahanan Sybil: Hanya hash yang terdaftar yang dapat memberikan suara, dan setiap hash hanya dapat memilih satu kali.
- Pembaruan Blockchain Real-time: Hasil diambil langsung dari smart contract.
- UI Modern: Antarmuka yang bersih dan intuitif untuk pengalaman voting yang mulus.
๏ฟฝ Preview
๐ Instalasi & Menjalankan Proyek
- Clone repository
git clone <repository-url>
cd web3-voting
- Install Dependency
npm install
-
Konfigurasi Environment Perbarui
hardhat.config.jsdengan URL provider Sepolia dan Private Key Anda. -
Generate Hash Pemilih Tambahkan nama di
voters.csv, lalu jalankan:
npm run hash
- Deploy Smart Contract
npm run deploy
- Hubungkan Frontend
Salin alamat kontrak yang dideploy ke dalam
frontend/index.html.
๐ Struktur Proyek
web3-voting/
โโโ contracts/ # Smart contract Solidity
โโโ frontend/ # Antarmuka web (HTML/JS/CSS)
โโโ scripts/ # Script deployment dan pembantu
โโโ voters.csv # Daftar nama pemilih terdaftar
โโโ voterHashes.json # Hash yang dihasilkan untuk blockchain
โโโ ...config files
๐งช Pengujian
Buka aplikasi di browser yang kompatibel dengan Web3 (seperti MetaMask) atau gunakan alat pengembang untuk mensimulasikan berbagai lingkungan. Pastikan Anda terhubung ke jaringan yang benar di mana kontrak telah dideploy.