daviludvig/votasj-dapp

GitHub: daviludvig/votasj-dapp

一个基于 Polygon 和 Solidity 的去中心化参与式预算投票平台,将选民注册、提案、投票与计票全流程上链以实现公开审计。

Stars: 0 | Forks: 0

# VotaSJ — 圣若泽/SC(São José/SC)数字参与式预算 [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/daviludvig/votasj-dapp/actions/workflows/ci.yml) [![Coverage](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/daviludvig/votasj-dapp/main/badges/coverage.json)](https://github.com/daviludvig/votasj-dapp/actions/workflows/ci.yml) [![Solidity](https://img.shields.io/badge/solidity-0.8.24-363636?logo=solidity)](contracts/) [![Hardhat](https://img.shields.io/badge/hardhat-2.22-f7dc00?logo=ethereum&logoColor=black)](hardhat.config.js) [![Network](https://img.shields.io/badge/network-Polygon%20Amoy-8247E5?logo=polygon&logoColor=white)](https://amoy.polygonscan.com/) [![Node](https://img.shields.io/badge/node-20%20LTS-339933?logo=nodedotjs&logoColor=white)](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