智能合约案例
简单代币合约
//SPDX-License-Identifier: SimPL-2.0
pragma solidity >0.4.20;
contract Coin {
address public minter;
mapping (address=>uint) public balance;
event Sent(address from, address to, uint amount);
constructor() public {
minter = msg.sender;
}
// minter 给 user 铸币
function mint(address user, uint amount) public {
require (msg.sender == minter);
balance[user] += amount;
}
// minter 给 receiver 发币
function send(address receiver, uint amount) public {
require (balance[msg.sender] >= amount);
balance[msg.sender] -= amount;
balance[receiver] += amount;
emit Sent(msg.sender, receiver, amount);
}
}
投票合约
//SPDX-License-Identifier: S