Hi-Etherのslackで興味深い質問がありました。
storageのデータを削除するときには gasがrefundされるという認識だったのですが、arrayの要素を全削除するときにgasが大量にかかるのはどうしてでしょうか?教えていただきたいです。
確かに、以前の記事でstorage上からデータを削除(non zero から zeroに変更)した場合は、refundGas=15000、 used gas=5000で最終的に10000gasが戻ってくると思っていました。が、実際に100件の値を持つuintの配列を生成して削除してみると削除時に270000gasほど消費されてしまいました。
今回は、このrefundGasとtransactionで消費されるgasの計算方法について調べたことをまとめます。
続きを読む