-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
27 lines (27 loc) · 2.48 KB
/
Copy pathpackage.json
File metadata and controls
27 lines (27 loc) · 2.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
"name": "crowdfunding-dapp",
"version": "1.0.0",
"description": "基于区块链的众筹系统 参考petshop实验,通过web3和ganache、Hardhat 等工具完成合约编写、区块链部署、功能展示 功能要求 项目创建:允许用户提交项目名称、描述、筹款目标金额和截止日期 等信息。合约需要存储这些项目信息,并为每个项目分配一个唯一的 ID。 资金捐赠:允许用户选择一个正在进行中的项目,并向其捐赠一定数量的币,存入合约中。合约需要记录每个捐赠者的地址和捐赠金额,并更新项目的当前筹款总额。能够展示所有正在进行和已结束的众筹项目的信息,包括名称、描述、目标金额、已筹金额、剩余时间和捐赠者列表 (可选)。 筹款结束逻辑:基于时间结束,当达到项目的截止日期时,任何人都可以调用一个合约函数来结束该项目。结束结果判断: 1.达到或超过目标:合约将当前筹集到的所有资金转移给项目发起人。 2.未达到目标:合约允许捐赠者提取他们捐赠的资金。 提取资金:项目发起人在项目成功结束后,可以调用一个合约函数将筹集到的资金提取到他们的账户。捐赠者在项目失败后,可以调用一个合约函数将他们捐赠的资金提取回来。 可选形式 控制台调用展示、编译器调用展示、前端 可选额外内容(额外加分 前端不做过多要求,可使用vue、react等前端框架完成,大家有能力的话尽量写一个简单的前端来展示,整体的效果会比较好 实现基于目标完成度的阶段性资金释放 (简化版里程碑),捐款达到一定比例后,或者在项目发起人标记完成某个里程碑后 ,允许释放一部分资金。 增加基于时间的早期捐赠奖励机制,例如,前 10 位捐款人可以获得额外的感谢或未来可能的福利。",
"main": "hardhat.config.js",
"directories": {
"test": "test"
},
"scripts": {
"compile": "hardhat compile",
"test": "hardhat test",
"deploy:localhost": "hardhat ignition deploy ./ignition/modules/DeployCrowdFund.js --network localhost",
"node": "hardhat node"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@nomicfoundation/hardhat-ignition-ethers": "^0.15.11",
"@nomicfoundation/hardhat-toolbox": "^5.0.0",
"hardhat": "^2.24.1",
"vite": "^6.3.5"
},
"dependencies": {
"ethers": "^6.14.3"
}
}