【问题标题】:Why does ERC20 balanceof() use constant?为什么 ERC20 balanceof() 使用常量?
【发布时间】:2017-11-10 16:46:27
【问题描述】:

ERC20 令牌标准指定 balanceof()constant

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

但是这个函数无论如何都不会改变任何东西的状态。那么这里的常数是什么意思?

【问题讨论】:

    标签: constants state solidity balance


    【解决方案1】:

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

    • 任何更改函数状态的尝试都不会写入链中。
    • 来自客户端的调用不会使用 gas,除非从另一个非常量函数调用。

    在 ERC20 标准中指定这一点只是为了确保您遵守这些规则。使用令牌的客户端不应该仅仅为了获取余额信息而意外地为消耗的 gas 付费。

    【讨论】:

    • 谢谢,这里的 no gas 参数很有意义
    猜你喜欢
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-10
    • 1970-01-01
    • 2011-10-22
    相关资源
    最近更新 更多