我需要建立一个聪明的合同,这将是很难估计的天然气使用量。
具体来说,如果我估计行刑气体的使用量为9万股气体,我想要消耗例如11万股气体,这样,如果我以10万股气体为限执行,交易就会失败。
有什么办法让我继续吗?
编辑:解决方案应该只公开接收和回退外部函数。这样一个智能契约对于测试关键系统的执行路径非常有用。
发布于 2023-04-04 21:10:36
您可以做一些事情,比如有一个for循环,它基于链链接vrf (oracle的随机数) https://docs.chain.link/vrf/v2/introduction/来执行任意次数的迭代。如果你在循环的每一次迭代中修改或创建存储,那么它就会消耗大量的气体。
如果你想让它特别地消耗比它估计的更多的气体,你可以做一些取决于块号的事情?因此,预测时的气体位于较低的块上,然后契约决定在以后的块上执行更多操作。
https://ethereum.stackexchange.com/questions/148518
复制相似问题