用delete释放存储delete会将storage变量重置为零值,获得gas退款。在以太坊当前的机制下,delete释放一个非零存储槽所获得的退款是固定数值4,800gas
用 delete 释放存储
delete 会将 storage 变量重置为零值,获得 gas 退款。
在以太坊当前的机制下,delete 释放一个非零存储槽所获得的 退款是固定数值 4,800 gas
退款上限:单笔交易的总退款不能超过该交易实际消耗 gas 的一半。
// 删除单个变量,获得 refund
delete balances[user];
// 设为 0,不触发 refund
balances[user] = 0;
不要用 delete 清空数组
// 会触发大量 SSTORE,极贵
delete myArray;
// 重置为空的数组
myArray = new uint[](0);
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
作者暂未设置收款二维码