如题,我写了个function,传参为uint[],用本地hardhat测试网测试了下,传参数组长度较小时没有问题,但较大时就会出现如题这个transaction ran out of gas错误,但实际上metamask都没有打开。所以我想请问下为什么在没发送交易时都会发生这个transaction ran out of gas错误呢?另外,这种传参应该是对数组长度有限制吧?具体限制规则是怎样的呢,可否修改这个限制呢?
gas 不仅仅是用来收费, 它也用户控制计算量。
即便是 view 的函数,也需要节点来运行, 也同样受到 gas limit 的限制。
这个限制节点可以修改, 但用户无法修改。
你应该控制数组的长度或分次运行。