代币
pragma solidity ^0.4.25;
contract Asset {
address public issuer;
mapping (address => uint) public balances;
event Sent(address from ,address to ,uint amount);//事件从一个地址发到另一个地址,发了amountq钱。
constructor () public {
issuer = msg.sender;
}
function issue(address receiver ,uint amount) public {
//issue函数验证当前操作地址是否部署合约本人,并生产币
if (msg.sender != issuer) return;
balances[receiver] +=amount;
}
function send(address receiver ,uint amount )public {
//send函数先判断,如果部署合约的地址的余额是否小于输入的金额则返回。
//不小于则执行后面的,部署合约的地址的余额减去输入的金额 获得地址的余额加上输入的金额。
if (balances [msg.sender] < amount) return;
balances[msg.sender] -=amount;
balances[receiver] +=amount;
emit Sent(msg.sender,receiver,amount);//输出事件
}
}