問題タブ [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 投票する
0 に答える
64 参照

ethereum - 堅牢性関連

送信されたイーサを受け取り、それを特定のウォレット アドレスに送信するために、2 つのスマート コントラクトを作成しました。

最初のスマート コントラクトの動作。 contractaddress.transfer(value) が実行されている場合、9700 ガスしか消費しません。Trx ハッシュ - 0xb92aa187b9d6713f9f36ce5ce2edf00108703a9e9cf572d9a5143bb1631f98cb

2 番目のスマート コントラクトの動作。 contractaddress.transfer(value) が実行されている場合、34700 ガスを消費します。Trx ハッシュ - 0xa5d22d4db05f6851bb52a06ea2eefc12d75f242ee476f9dee3594c988b75eaa5

この2つはなぜこんなに違うのでしょうか?Remix IDE を使用してそれらをコンパイルおよびデプロイしました。

注: 上記の 2 つのコントラクトでは、異なるウォレット アドレスのセットが使用されます。nanopool を使用しようとしていますが、彼らが提供する Gaslimit はわずか 50k であり、動作が変化するため、2 番目のスマート コントラクトには不十分です。

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

ethereum - Ethereum Remix はコントラクトを展開するときに特定の関数パラメーターを無視しますか?

remixを使用して開発されたコントラクトがあります。コントラクトをコピーして mocha テストを作成した後、デプロイ テストの実行時に次のエラーを受け取りました。

エラー: 「未定義」のパラメーターの数が無効です

1) 「コントラクトを展開する」の「各」フックの前: エラー: 「未定義」のパラメーターの数が無効です。0 期待 1 を得た!

コンストラクターは以前にパラメーターを使用していましたが、変数型アドレスを、テストで提供しなかったテスト (コントラクト) コンストラクターのパラメーターとして誤って残していたことに気付きました。パラメーター (コンストラクターで使用されていない) を削除すると、テストに合格します。

期待どおりにリミックス(エラー/警告なし)で機能したため、コードをエディターにコピーする前にキャッチしませんでした。

コントラクトをデプロイするとき、リミックスは不正なパラメーターを無視しますか? これをリミックスでキャッチする方法はありますか?

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

ethereum - Rinkeby テスト ネットワークでコントラクトの展開とトランザクションが一貫して失敗しますか?

Infura と MetaMask を使用して、Rinkeby テスト ネットワークにデプロイしています。コントラクトは、Remix でエラーなくコンパイルおよび実行されます。コンソールでコントラクトをコンパイルした後、デプロイに一貫性がありません。失敗すると、次のエラーが表示されます。

UnhandledPromiseRejectionWarning: エラー: トランザクションは 50 ブロック以内に採掘されませんでした。トランザクションが適切に送信されたことを確認してください。まだ採掘されている可能性があることに注意してください!

また、デプロイが成功した後にトランザクションを実行すると、このエラーが発生します。

このエラーの原因は何ですか? これはネットワークの輻輳/トラフィックに関連していますか? コントラクトを投稿し、コードをコンパイルしてデプロイすることができます。