pragma solidity ^0.4.0;
contract demo {
struct funder {
// 捐赠者地址
address funderAddress;
// 捐赠者捐赠的金钱
uint Tomoney;
}
// 受益人对象
struct needer {
// 受益人地址
address Neederaddress;
// 受益人的目标值
uint goal;
// 当前募集了多少钱
uint amount;
// 捐赠者的 id
uint funderAccount;
// 将捐赠者的id与捐赠者绑定在一起,从而能够得知,是谁给当前的受益人捐钱了
mapping(uint => funder) map;
}
// 受益人的 id 数
uint neederAccount;
// 将受益人id与受益人绑定在一起,从而更好管理收益人
mapping(uint => needer) needmap;
// 新的众筹实例
function NewNeeder(address _Neederaddress, uint _goal) {
// 将 id 与受益人连接在一起
neederAccount++;
needmap[neederAccount] = needer(_Neederaddress, _goal, 0, 0);
}
// 贡献钱
// _address: 捐赠者的地址
// _neederAmount: 受益人 id
function contribute(address _address, uint _neederAmount) payable {
Solidity 实战 -- 众筹合约
最新推荐文章于 2024-02-20 16:50:51 发布