为什么ERC20 balanceof()使用常量?

时间:2017-11-10 16:46:28

标签: constants state solidity balance

ERC20令牌标准使用balanceof()指定constant

  function balanceOf(address _owner) public constant returns (uint256 balance) {
    return balances[_owner];
  }

但是该功能无论如何都不会改变任何状态。那么常数的含义是什么?

1 个答案:

答案 0 :(得分:1)

用常数修饰符标记的函数可以做两件事。

  • 任何改变函数状态的尝试都不会写入链中。
  • 来自客户的呼叫不会使用气体,除非从另一个非常数功能调用。

在ERC20标准中指定此选项可确保您遵循这些规则。使用令牌的客户不应该为了获得余额信息而意外支付所消耗的气体费用。