問題タブ [remix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1048 参照

ethereum - Remix Web3 Provider: Out of Gas - イーサリアム ガナッシュと TestRPC

ganache と testRPC に問題がありout of gas、web3 プロバイダーを使用している場合にのみエラーが発生し続けますが、Javascript VM を使用している場合やトリュフの JavaScript テストではエラーが発生しません。

私のマッピングは次のように設定されています:

そして、スローするメソッドVM Exception while processing transaction: out of gasは次のとおりです。

delete2行をコメントアウトすると、正常に実行されます。ただし、それらを使用するdeleteか、単に再割り当てしても失敗します。

これを Truffle のテスト スイートで実行すると機能し、Javascript VM を使用して Remix を介してこれらのアクションを手動でコミットするときにも機能します。testRPC または ganache に接続されている場合のみ、失敗します。

他のすべての方法はガナッシュからもうまくいくようですが、削除に問題があるようです. 私はまた、ガスが返金され、この方法のガス価格がかなり低いため、ガナッシュに奇妙さを引き起こすためであるという言及を見てきました. 変更を行うたびにコントラクトをテスト ネットワークにアップロードする必要がない回避策はありますか?


編集:これはガス消費量が少ないことではなく、マッピングインデックスのクリアに関連していることを証明できるようです. メソッドに大量のガス消費を追加しましたが、それでも同じガス不足エラーで終了します。

新しい状態変数:

そして、私が追加した方法で

これにより、ガス消費量が から43279に減少しました141513が、それでもガス不足エラーが発生します。