温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

solidity智能合约[43]-众筹案例

发布时间:2020-07-07 22:32:16 阅读:662 作者:jonson_jackson 栏目:开发技术
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

综合案例:众筹

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
pragma solidity ^0.4.23;contract  campaign{    //捐赠者的对象    struct funder{       address  funderaddress; //捐赠者的地址       uint  Tomoney;    //捐赠者捐赠的金钱    }    //受益人的对象    struct needer{        address  Neederaddress;  //受益人的地址        uint goal;//受益人的目标值        uint amount; //当前的已经募集到了多少钱        uint  funderAcoount;  //捐赠者的id        mapping(uint => funder) map;  //映射,将捐赠者的id与捐赠者绑定在一起,从而能够得知,是谁给当前的受益人捐钱了。    }    uint neederAmount; //受益人的id数    mapping(uint=> needer) needmap; //通过mapping将受益人的id与受益人绑定在额一起,从而能够能耗的管理受益人    //实现一个众筹的事件    function  NewNeeder(address _Neederaddress,  uint _goal ){      //将受益人id与受益人绑定        neederAmount++;        needmap[neederAmount] = needer(_Neederaddress,_goal,0,0);    }    //@param _address 捐赠者的地址  ,    //@param    _neederAmount   受益人的id    function contribute( address _address, uint _neederAmount)  payable{        //通过id获取到受益人对象        needer storage  _needer =  needmap[_neederAmount];       //聚集到的资金增加        _needer.amount +=  msg.value;        // 捐赠人数增加        _needer.funderAcoount++;        //将受益人id与受益人绑定        _needer.map[ _needer.funderAcoount] = funder(_address ,  msg.value );    }   //当募集到的资金满足条件,就会给给受益人的地址转账   //@param    _neederAmount   受益人的id    function   ISconpelete( uint _neederAmount){           needer storage  _needer =  needmap[_neederAmount];        if(_needer.amount  >=_needer.goal ){            _needer.Neederaddress.transfer(_needer.amount);        }    }    function test()  view returns(uint,uint,uint){        return (needmap[1].goal,  needmap[1].amount,needmap[1].funderAcoount);    }}
  • 本文链接: https://dreamerjonson.com/2018/11/23/solidity-43-campaign/

  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!

solidity智能合约[43]-众筹案例

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×