daviludvig/votasj-dapp
GitHub: daviludvig/votasj-dapp
一个基于 Polygon 和 Solidity 的去中心化参与式预算投票平台,将选民注册、提案、投票与计票全流程上链以实现公开审计。
Stars: 0 | Forks: 0
# VotaSJ — 圣若泽/SC(São José/SC)数字参与式预算
[](https://github.com/daviludvig/votasj-dapp/actions/workflows/ci.yml)
[](https://github.com/daviludvig/votasj-dapp/actions/workflows/ci.yml)
[](contracts/)
[](hardhat.config.js)
[](https://amoy.polygonscan.com/)
[](https://nodejs.org/)
**INE5458 — 区块链与加密货币技术** 的期末项目 — UFSC 2026/1
一个用于圣若泽/SC(São José/SC)参与式预算的去中心化投票平台。该周期的每个阶段(选民注册、提案提交、投票、计票)都记录在公共区块链(Polygon PoS)上,消除了中心化的可信机构,并允许任何公民进行公开审计。
## 课程交付物
| PD | 产物 | 状态 |
| -- | -------- | ------ |
| PD1 — 商业画布 + 区块链画布 | [docs/pd1/](docs/pd1/) | 已完成 |
| PD2 — 长白皮书 + 短白皮书 | [docs/pd2/](docs/pd2/) | 已完成 |
| PD3 — 商业计划书 + 团队视频 + MVP 演示 | [docs/pd3/](docs/pd3/) | 已完成 |
## 仓库布局
```
contracts/ Smart contracts (Solidity 0.8.24)
VoterRegistry.sol Eligible-voter registry
ParticipatoryBudget.sol Voting cycle (open, propose, vote, tally)
test/ Hardhat tests (ethers v6 + chai) — 43 tests, 100% coverage
scripts/
deploy.js Deployment script (local, or Amoy once configured)
demo-cycle.js Reproducible end-to-end evidence run (`npm run demo`)
contract-metrics.js LOC / complexity / bytecode-size report (`npm run metrics`)
generate-coverage-badge.js Regenerates badges/coverage.json from coverage output
reports/ Generated by `npm test|coverage|demo|metrics` — git-ignored, regenerate anytime
badges/ Dynamic README badge data (coverage.json), refreshed by CI on every push to main
docs/ Course deliverables, organized by PD
pd1/ Business + Blockchain canvases
pd2/whitepaper-long/ Long technical white paper (markdown + LaTeX SBC)
pd2/whitepaper-short/ Short business/user white paper (markdown + LaTeX SBC)
pd3/ PD3: development plan, gap analysis, demo runbook, checklist,
and the pitch deck itself (outline, slides, scripts, Q&A, evidence)
frontend/ (reserved for a future iteration; not part of the current MVP demo)
sources/ Course slides (Canvas, White Paper, Pitch Deck lectures) — git-ignored
```
## 技术栈
- Solidity 0.8.24 + Hardhat 2.22
- ethers v6 + chai(测试)
- Polygon PoS(PD2/PD3 使用 Amoy 测试网)
- 用于提案元数据的 IPFS
- 用于链下身份验证的 gov.br (OIDC)
## 运行项目
下面的每个命令都是标准的 `npm run