solidity子货币入门

智能合约概述



一、子货币代码

pragma solidity ^0.4.21;      //声明solidity版本

contract Coin {
    
    
    // 关键字“public”让这些变量可以从外部读取
    address public minter;
    //创建一个公共变量balances,mapping用来匹配地址
    mapping (address => uint) public balances;

    // 轻客户端可以通过事件针对变化作出高效的反应
    监听事件,用于通知所有监控者,一旦它被发出,监听该事件的listener都将收到通知
    event Sent(address from, address to, uint amount);

    // 这是构造函数,只有当合约创建时运行
    //新版本的solidity要求函数名不能和合约名相同,采用新的构造函数写法,
    将function Coin 改成 constructor
    constructor () public {
    
    
        minter = msg.sender;   //储存
    }

//用于查询账户余额
    function mint(address receiver, uint amount) public {
    
    
        if (msg.sender != minter) return;
        balances[receiver] += amount;
    }

    function send(address receiver, uint amount) public {
    
    
        if (balances[msg.sender] < amount) return;//检查发送者余额是否有钱,有钱才能进行转账
        balances[msg.sender] -= amount;
        balances[receiver] += amount;
        emit Sent(msg.sender, receiver, amount);
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_45774311/article/details/109267688