CloudVote Web3 Voting System

Aplikasi voting terdesentralisasi yang aman dan transparan di blockchain Ethereum.

SolidityHardhatEthers.jsJavascriptWeb3

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

image

๐Ÿš€ Instalasi & Menjalankan Proyek

  1. Clone repository
git clone <repository-url>
cd web3-voting
  1. Install Dependency
npm install
  1. Konfigurasi Environment Perbarui hardhat.config.js dengan URL provider Sepolia dan Private Key Anda.

  2. Generate Hash Pemilih Tambahkan nama di voters.csv, lalu jalankan:

npm run hash
  1. Deploy Smart Contract
npm run deploy
  1. 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.

CloudVote Web3 Voting System | Daffathan Labs | Daffathan Labs