.版本^0.6以上会报错:Warning: SPDX license identifier not provided in source file
文件开头加上://SPDX-License-Identifier: SimPL-2.0
.转账
    function transfer(address account) public payable{
        address(uint160(account)).transfer(msg.value);
    }
.获取当前账户余额
 function getBalance() public view returns(uint){
    return address(this).balance;
 }
.构造函数,在合约创建后执行。
	constructor() public {
	}
.Erc20行代币模板
// SPDX-License-Identifier: SimPL-2.0
pragma solidity ^ 0.6.10;
abstract contract Erc20Token{  
    uint256 public totalSupply;
    function balanceOf(address _owner) public view virtual returns (uint256 val);
    function transfer(address _to, uint256 _value) public virtual returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) public virtual returns (bool success);
    function approve(address _spender, uint256 _value) public virtual returns (bool success);
    function allowance(address _owner, address _spender) public view virtual returns (uint256 remaining);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256  _value);
}

contract TokenUSDT is Erc20Token {
    using SafeMath for uint256;
    string public name = "USDT Test coin";
    string public symbol = "USDT";
    uint8 public decimals = 6;
    constructor(address issuerAddr) public {
        totalSupply = 100000000000 * 10 ** uint256(decimals);
        balance[issuerAddr] = totalSupply;
    }
  
    function transfer(address _to, uint256 _value) public override returns (bool success) {
        require(_to != address(0x0));
        require(balance[msg.sender] >= _value && balance[_to] + _value > balance[_to]);
        balance[msg.sender] = balance[msg.sender].sub(_value);
        balance[_to] = balance[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) public override returns (bool success) {
        require(_to != address(0x0));
        require(balance[_from] >= _value && allowed[_from][msg.sender] >= _value);
        balance[_from] = balance[_from].sub(_value);
        balance[_to] = balance[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);  
        return true;
    }

    function balanceOf(address _owner) public view override returns (uint256 val) {  
        return balance[_owner];
    }
  
    function approve(address _spender, uint256 _value) public override returns (bool success) {   
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }
  
    function allowance(address _owner, address _spender) public view override returns (uint256 remaining) {  
        return allowed[_owner][_spender];
    }

    mapping (address => uint256) balance;  
    mapping (address => mapping (address => uint256)) allowed;  
}


library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b);
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a);
        uint256 c = a - b;
        return c;
    }
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a);
        return c;
    }
}

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐