Ethereumはstorageにデータを登録する際に、ストレージ使用料がかかります。実はこの使用料はどうやら一定では無いらしく、データをセットする同じfunctionを実行しているのに最初だけ高かったりします。 すごく気になったので実際にどういう時にいくらのgas代がかかるのか調べてみました。 SSTOREのgas代を計算している部分のソース go-ethereumでSSTORE(ストレージにデータを格納するためのopcode)のgas代を計算している箇所はここです。 github.com SSTOREのガス代 以下の3つの場合でそれぞれgas代が違います。 zero -> non zero: (NEW VALUE) cost 20000gas non zero -> zero: (DELETE) refund 15000gas、 cost 5000gas non zero -> non