pragma solidity ^0.5.0;
contract Student{
//关键字“public”让这些变量可以从外部读取
address public minter;
//也创建一个公共状态变量,但它是一个更复杂的数据类型,该类型将 address 映射为无符号整数。mappings 可以看作是一个哈希表,它会执行虚拟初始化,把所有可能存在的键都映射到一个字节表示为全零的值。
mapping(address=>uint) public balances;
//轻客户端可以通过事件针对变化作出高效的反应
event Sent(address from,address to,uint amount);
//这是构造函数,只有合约创建时运行
constructor()public {
/********** Begin *********/
minter = msg.sender;
/********** End *********/
}
//
function mint(address receiver,uint amount)public{
/********** Begin *********/
if(msg.sender !=minter) return;
balances[receiver] +=amount;
/********** End *********/
}
function send(address receiver,uint amount)public {
require(amount<=balances[msg.sender]);
/********** Begin *********/
if(balances[msg.sender] < amount) return;
balances[msg.sender]-=amount;
balances[receiver]+=amount;
emit Sent(msg.sender,receiver,amount);
/********** End *********/
}
function getBalance()public view returns(uint){
/********** Begin *********/
return balances[msg.sender];
/********** End *********/
}
}
【solidity】发行智能合约
于 2022-05-07 14:48:19 首次发布