圈钱跑路 ERC20 Token 合约代码分析

ERC20 Token 合约代码分析

合约接口代码

// https://github.com/ethereum/EIPs/issues/20

// 接口标准
  contract ERC20 {
      function totalSupply() constant returns (uint totalSupply);   // 总发行量
      function balanceOf(address _owner) constant returns (uint balance);
      function transfer(address _to, uint _value) returns (bool success);   // 代币分发(注意, 这个只有合约的Creator 可以调用)
      function transferFrom(address _from, address _to, uint _value) returns (bool success);    // 这里是拥有者和拥有者之间的代币转移

      function approve(address _spender, uint _value) returns (bool success);
      function allowance(address _owner, address _spender) constant returns (uint remaining);

      event Transfer(address indexed _from, address indexed _to, uint _value);
      event Approval(address indexed _owner, address indexed _spender, uint _value);

// Token信息
    string public constant name = "4FunCoin";
    string public constant symbol = "4FC";
    uint8 public constant decimals = 18;  // token的精度, 大部分都是18
}

上面的代码是一个标准的ERC20标准的代码, 他给出了框架, 我们只需要实现相应的函数就好了, 这里给出函数说明:

接口函数

  • 函数的形参是局部有效, 所以前面使用下划线, 与其他的变量区别开来. 如 _owner.
  • totalSupply() 函数返回这个Token的总发行量;
  • balanceOf() 查询某个地址的Token数量 , 结合mapping实现
  • transfer() owner 使用这个进行发送代币
  • transferFrom () token的所有者用来发送token
  • allowance() 控制代币的交易,如可交易账号及资产, 控制Token的流通
  • approve() 允许用户可花费的代币数;

事件函数

这里两个Event是重点, 之前没弄懂, 现在倒是明白不少, 就是产生事件, 从而可以被前端代码捕获到, 从对事件使用事件服务函数进行处理 , 这里的参数,也将传递给服务函数

  • event Transfer() Token的转账事件
  • event Approval() 允许事件

合约实现代码

理解了上面的函数, 下面的代码,就实现了Token合约的函数填充

pragma soli
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值