pragma solidity ^0.6.0;
contract Token {
// 发行总量
    uint256 public totalSupply;
// 代币符号
string public symbol;
// 代币名称
string public name;
// 代币精度
    uint8 public decimals;
// 代币所有者地址对应的代币余额
    mapping(address => uint256) public balanceOf;
// 权限者地址
    address public owner;
constructor() public {
        totalSupply = 100 * (10 ** 18);
        symbol = "Token";
        name = "Token";
        decimals = 18;
        balanceOf[msg.sender] = totalSupply;
        owner = msg.sender;
    }
// 转移代币
function transfer(address _to, uint256 _value) public {
require(balanceOf[msg.sender] >= _value && _value > 0, "Insufficient balance.");
        balanceOf[msg.sender] -= _value;
        balanceOf[_to] += _value;
    }
// 增发代币
function mint(address _to, uint256 _value) public {
require(msg.sender == owner, "Only owner can mint.");
        totalSupply += _value;
        balanceOf[_to] += _value;
    }
}

这个智能合约提供了一个名为 mint 的函数,可以用来增发代币。只有在智能合约创建时设置的 owner 地址才能调用这个函数。

请注意,这份代码仅供参考,并不保证能够在生产环境中使用。你应该对代码进行测试和审核,以确保它能够满足你的需求并且没有安全漏洞。文章只做技术分享研究使用,请读者遵纪守法,一切违法行为属读者个人行为,与本站无关!有兴趣的读者留言相互研究!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐