项目简介
本项目借助区块链技术,打造了一个基于以太坊智能合约的去中心化学生社团治理系统,能够实现学生社团的透明化、去中心化管理。学生可通过连接以太坊钱包参与社团治理,如进行积分管理、发起提案、投票表决等操作,且所有操作由智能合约实现,保证了数据的不可篡改性与透明性。
项目的主要特性和功能
- 支持学生通过MetaMask等以太坊钱包连接系统,保障身份认证和交易安全。
- 具备积分系统,学生能领取初始积分(ERC20代币),用于发起提案或参与投票。
- 学生可用积分发起社团活动提案,提案包含标题、内容和持续时间。
- 有投票机制,学生对提案进行赞成或反对投票,每个提案仅能投一次,投票需消耗积分。
- 提案结束后,系统自动计算投票结果,通过智能合约奖励提案发起者和投票者,成功发起并通过3次提案的学生可获纪念品(ERC721代币)。
- 采用去中心化治理模式,所有操作由智能合约执行,确保治理过程透明且不可篡改。
安装使用步骤
1. 环境准备
- 安装Node.js和npm。
- 安装MetaMask浏览器扩展,配置本地Ganache测试网络。
2. 部署智能合约
- 在
./contracts
目录下安装依赖:bash npm install
- 编译智能合约:
bash npx hardhat compile
- 部署智能合约到Ganache测试网络:
bash npx hardhat run ./scripts/deploy.ts --network ganache
部署成功后,复制合约地址并配置到前端应用中。
3. 启动前端应用
- 在
./frontend
目录下安装依赖:bash npm install
- 启动前端应用:
bash npm run start
- 打开浏览器,访问
http://localhost:3000/
。
4. 使用系统
- 连接钱包:在页面中点击“连接钱包”按钮,使用MetaMask连接到系统。
- 领取积分:连接钱包后,领取初始积分。
- 发起提案:使用积分发起提案,输入提案标题、内容和持续时间。
- 投票:对现有提案进行赞成或反对投票,投票需消耗积分。
- 查看提案:查看所有提案的详细信息,包括投票结果和状态。
- 结束提案:提案结束后,系统自动计算投票结果并发放奖励。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】