这里有一个简单的合同可以证明我的要求:
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是否能够计算交易前后所用总存储量的差额,以确定所用的天然气量?
答案 0 :(得分:0)