• solidity语言5


    结构体

    pragma solidity ^0.4.11;
    
    // 众筹合约
    contract CrowdFunding {
        // 投资者
        struct Funder {
            address addr;
            uint amount;
        }
    
        // 活动
        struct Campaign {
            address beneficiary;
            uint fundingGoal;
            uint numFunders;
            uint amount;
            mapping (uint => Funder) funders;
        }
    
        uint numCampaigns;
        mapping (uint => Campaign) campaigns;
        
        // 新活动
        function newCampaign(address beneficiary, uint goal) public returns (uint campaignID) {
            campaignID = numCampaigns++; // campaignID is return variable
            // Creates new struct and saves in storage. We leave out the mapping type.
            campaigns[campaignID] = Campaign(beneficiary, goal, 0, 0);
        }
    
        // 贡献
        function contribute(uint campaignID) public payable {
            Campaign storage c = campaigns[campaignID];
            // Creates a new temporary memory struct, initialised with the given values
            // and copies it over to storage.
            // Note that you can also use Funder(msg.sender, msg.value) to initialise.
            c.funders[c.numFunders++] = Funder({addr: msg.sender, amount: msg.value});
            c.amount += msg.value;
        }
    
        // 检查目标到达
        function checkGoalReached(uint campaignID) public returns (bool reached) {
            Campaign storage c = campaigns[campaignID];
            if (c.amount < c.fundingGoal)
                return false;
            
            uint amount = c.amount;
            c.amount = 0;
            c.beneficiary.transfer(amount);
            return true;
        }
    }
    
  • 相关阅读:
    PostCSS: 跨浏览器兼容性
    js延迟执行函数
    angularjs怎么做动jq中toggle (ng-toggle in AngularJS )
    elasticsearch权威指南
    docker 运行 elasticsearch + kibana + head 集群
    RabbitMQ 的基本介绍
    docker 安装rabbitMQ
    Docker WARNING: IPv4 forwarding is disabled. Networking will not work.
    nginx 的 负载均衡
    Nginx 的 docker 部署
  • 原文地址:https://www.cnblogs.com/liujitao79/p/8482794.html
Copyright © 2020-2023  润新知