众筹智能合约开发(完整版)
发布日期:2021-05-07 07:07:09 浏览次数:15 分类:精选文章

本文共 1505 字,大约阅读时间需要 5 分钟。

CrowdFund.sol

/*作者:key时间:2020/10/25    17:2分析:一个needer      受益者      多个player      捐助者运行环境 remix*/pragma solidity^0.4.25;//众筹合约contract CrowdFund{           uint256 neederAmount=0; //needer的数量,初始化为0    mapping(uint256 => Needer) neederMap;        struct Funder{           address funderAddress; //捐助者的地址        uint256 toMoney;  //捐助的数量    }        struct Needer{           address neederAddress;  //受益者地址        uint256 goal;   //募集资金目标        uint256 amount; //现在募集的资金        uint256 funderAccount; //捐助者的数量        mapping(uint256 => Funder) amountOrigin; //这笔募捐资金的来源    }        function newNeeder(address _neederAddress,uint256 _goal) public{           neederMap[neederAmount] =Needer(_neederAddress,_goal,0,0);//初始化        neederAmount++;    }        function contribute(address _funderAddress,uint _neederAmount)public payable{           Needer storage _needer = neederMap[_neederAmount];        _needer.amount +=msg.value;        _needer.funderAccount++;        _needer.amountOrigin[_needer.funderAccount] = Funder(_funderAddress,msg.value);    }        function isConpelete(uint256 _neederAmount) public{           Needer storage _needer = neederMap[_neederAmount];        if(_needer.amount >= _needer.goal){               _needer.neederAddress.transfer(_needer.amount);        }    }        function print(uint256 neederAmount) public view returns(uint256,uint256,uint256){           return(neederMap[neederAmount].goal,neederMap[neederAmount].amount,neederMap[neederAmount].funderAccount);    }}
上一篇:solidity笔记——第一篇
下一篇:爬虫快速入门——Get请求的使用

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月14日 01时58分30秒