Tech

Ethereum Solidityの Stack Too Deep問題 メモ

  • このエントリーをはてなブックマークに追加

Ethereumのお約束。Stack Too Deep問題のメモ

概要

  • 大まかに16か17のローカル変数と返り値を書くと、コンパイル時にStack Too Deepと出る問題

仕組み

  • 2つのスタック・スロットを使う沢山のストレージ・リファレンスがある
  • スロットの中にオフセットが必要
  • EVMは、ある深さのスタックまでしかリーチできない
  • ローカル変数は、スタックの中に保存されている
  • この問題は、スタックの問題ではなく、ストレージの問題
  • 変数は、スタックの中にぎゅうぎゅう詰めになっているわけではない
  • 例えば、bool変数は、フルスタックの場所をとる

参考

関連用語

  • Ethereum, イーサリアム, イサリアム
  • Solidity
  • EVM, Ethereum Virtual Machine
  • このエントリーをはてなブックマークに追加