專案概覽
一個建構在以太坊區塊鏈上的去中心化投票平台,確保投票過程透明、安全且不可篡改。
功能特色
- 去中心化:無中心化機構控制投票
- 不可篡改:投票一旦記錄便無法更改
- 透明公開:所有投票皆可在區塊鏈上公開驗證
- 多選項支援:支援多種投票選擇
- 安全可靠:以太坊區塊鏈的密碼學安全保障
技術堆疊
- 前端:Vue 3 (搭配 PrimeVue UI)
- 區塊鏈:Ethereum (以太坊)
- 智能合約:Solidity (v0.8.20)
- Web3 整合:Ethers.js
- 錢包:Metamask 整合
開發期間
2025 年 2 月
智能合約功能
- 建立新投票
- 進行投票
- 查看結果
- 防止重複投票
- 具備時效性的投票期間
學習成果
本專案是在完成 Educative 課程「Building a Blockchain from Scratch Using Solidity and Ethereum」後開發的。
主要學習重點:
- 撰寫與部署 Solidity 智能合約
- 從前端與以太坊區塊鏈進行互動
- 管理錢包連線
- Gas 手續費最佳化技巧
- 智能合約的安全性最佳實踐
安全性考量
- 重入攻擊 (Reentrancy) 防護:採用 Check-Effects-Interactions 模式
- 輸入驗證:嚴格檢查投票時效與參數正確性
- 溢位/下溢位 (Overflow/Underflow) 防護:基於 Solidity 0.8+ 編譯器原生支援