我有一个有趣的现象编辑:在扇汤姆网络上,如果这里问错了我不明白的地方,很抱歉,也许有人能解释一下:
当我发送一个交易,例如400000气体限制执行我的合同方法,使用X的气体量。当我发送完全相同的交易时,只有250000的限制,使用的气体量要低得多。
气体限额:400 000
交易所用气体: 80,726 (20.18%)
天然气价格: 0.0000002455336 FTM (245.5336 Gwei)
气体限值:250 000
交易所用气体:65 726 (26.29%)
天然气价格: 0.0000002310364 FTM (231.0364 Gwei)
注意:该方法在两个事务中执行完全相同的代码,因此没有不同的条件。
为什么是这样?
编辑:
我刚刚尝试了另一个序列,首先是低气体,然后是更高的气体限制:
气体限值:35万
交易所用气体:72 650 (20.76%)
气体限值:45万
交易所用气体:82 650 (18.37%)
发布于 2022-01-02 05:57:05
是在每个事务之后重置块链状态,还是在示例1之后执行示例2?
如果是后者,这可能是天然气数量较少的原因。例如,在一般的ERC721实现中,薄荷函数在第二次调用它时花费更少的气体。
https://ethereum.stackexchange.com/questions/117809
复制相似问题