- 单项目投票模型
- 部署时写入选项
- 管理员手动结束投票
- 适合学习基础链上投票流程
- 支持多项目并行投票
- 任何地址都可创建项目
- 通过项目名称管理投票
- 支持暂停 / 恢复 / 删除(逻辑下架)
- 改用
projectId作为主键 - 引入明确生命周期:
Draft / Active / Paused / Ended / Cancelled / Archived - 支持激活、暂停、恢复、取消、结算、归档
- 赢家结算后固化,避免重复循环计算
- 已提供合约、测试、Ignition 模块与前端接入
- 前端创建面板支持立即开始 / 定时开始 / 持续时长 / 自定义结束时间
npm installnpx hardhat ignition deploy ignition/modules/VotingSystem.js --network <network>npx hardhat ignition deploy ignition/modules/VotingSystem2.js --network <network>npx hardhat ignition deploy ignition/modules/VotingSystem3.js --network <network>本地 Hardhat 示例:
npx hardhat ignition deploy ignition/modules/VotingSystem3.js --network hardhatnpx hardhat test test/VotingSystem3.js --network hardhatcd frontend
npm install
npm run dev前端现在支持:
VotingSystem 1.0VotingSystem 2.0VotingSystem 3.0
进入页面后:
- 连接 MetaMask
- 在右侧填写并保存对应版本合约地址
- 切换到目标版本
- 刷新链上数据并开始操作