Error: VM Exception の解決

Metamask などで SUBMIT して実行したときに発生するエラーに関する超簡単な覚書です。

スポンサーリンク

ケース1

Error: VM Exception while processing transaction: revert

例えば、Solidity 側で require() の条件を満たしていないときに発生します。

ケース2

Error: VM Exception while processing transaction: invalid opcode

例えば、存在しないものを呼び出そうとしているなど、JavaScript で書き方間違ってるときに発生します。

ケース3

Error: VM Exception while processing transaction: out of gas

コントラクトの実行の際、ガスが足りないときに発生します。設定しているガスの量を増やすか、Metamask 上で変更すると通ります。

また、コントラクト側でtransfer関数を用いていて、Web 側でこの関数を呼ぶときにガスの設定を入れ忘れても同様のエラーが発生します。ガスの設定は以下のようにして追加します。

contract.deposit(id, {gas: 300000})
タイトルとURLをコピーしました