solidity简单众筹合约

这篇博客详细介绍了如何使用Solidity编程语言构建一个简单的众筹合约。通过合约,可以进行受益人添加、捐款操作,并提供了相应的合约检验功能。
摘要由CSDN通过智能技术生成
pragma solidity ^0.4.19;

contract Fund{

     //定义出资人
    struct Funder{
        address addr;  //出资人地址
        uint amout;    //出资人金额
    } 
    
     //定义受益人
    struct Gainer{
        address gain;    //受益人地址
        uint goal;     //众筹目标
        uint numFunder;    //出资人数量
        uint sum;         //受赠总额
        mapping(uint => Funder) Funders;   //出资人映射 ID -- 出资人
    }
    

    uint Gainernum;  //受益人数量
    mapping(uint => Gainer) Gainers;   //受益人映射  ID-- 受益人
    
   //新增受益人
    function newGainer(address gain,uint goal) public  returns (uint ID){
        ID = Gainernum++;     //增加受益人ID
        Gainers[ID] = Gainer(gain,goal,0,0);     //初始化受益人
    }
    
  //定义捐赠函数
    function  Contribute(uint ID) public payable{
        Gainer storage g = Gainers[ID];    //实例化受益人
        g.Funders[g.numFunder++] = Funder({addr:msg.sender,amout:msg.value});  //实例化出资人
        g.sum += msg.value;   //受赠钱增加
        // g.ga
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值