固态性是否会基于调用合同方法之前和之后使用的总存储量来优化天然气使用量?

时间:2018-08-12 00:20:13

标签: ethereum solidity

这里有一个简单的合同可以证明我的要求:

contract Example {
  uint256 intOne;
  uint256 intTwo;

  function test1()
    public
    payable
  {
    intOne = 300;
  }

  function test2()
    public
    payable
  {
    intOne = 0;
    intTwo = 300;
  }
}

重新部署合同后,我首先打电话给test1(),它使用了41527瓦斯。

这对我来说很有意义,因为将intOne从零写入非零将使用20,000瓦斯,再加上基线的瓦斯使用量(无论如何)。

然后我打电话给test2,它出奇地仅使用了31453种气体。

是否不应该将intOne从非零更改为零成本5000,然后再另外20,000将intTwo从零更改为非零成本?

Solidity是否能够计算交易前后所用总存储量的差额,以确定所用的天然气量?

1 个答案:

答案 0 :(得分:0)