問題タブ [ethers.js]

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 に答える
243 参照

ethers.js - ethers.js ABI で構造体の戻り値の型の配列を定義する方法

現在、私はこのアビを手に入れました:

構造体は次のStakeようになります。

現在、Ethers は何が何であるかを認識していないため、getStakes 関数は機能しません。ABIStake[]でこれを定義するにはどうすればよいですか?

0 投票する
0 に答える
62 参照

reactjs - コンポーネントの再レンダリング時に tx を拒否

メタマスクで動作する反応と ethers.js を使用して webapp を作成しています。MyContract.MyFunc(xyz, function(error, result){ }); を呼び出すと、ユーザーには、メタマスク ポップアップが表示されます。ユーザーがSUBMITまたはREJECTを押した場合にのみ、私のコードは応答を受け取ります。しかし、ユーザーが SUBMIT または REJECT を押さずにページを更新すると、ユーザーはまだこのトランザクションを送信できますが、私のコードはこのトランザクションのステータスを認識しません。

コードの最初の部分でトランザクションを送信し、2 番目の部分で API に情報を投稿します。私の問題は、コードのトランザクション部分が、ユーザーがトランザクションを確認して署名するためのメタマスク ポップアップを生成することです。ユーザーが期待どおりにトランザクションを続行すると、私のコードは問題なく動作します。ただし、ユーザーがページを更新するか、メタマスクポップアップが生成された後、それを確認する前にコンポーネントの状態をリセットし、ページのリロード後にそれを確認すると、データを API に投稿できません。アプリが壊れます。これを止めるにはどうすればよいですか?ページのリロード時にトランザクションを拒否したり、メタマスクに署名されていないトランザクションがあるかどうかを確認したりする方法はありますか?

0 投票する
0 に答える
105 参照

javascript - ethers.js 無効なアドレスが指定された ethereum-multicall

このエラーが発生しました:

キャッチされない (約束された) エラー: 無効なアドレス (引数="アドレス"、値=42、コード=INVALID_ARGUMENT、バージョン=アドレス/5.4.0) (引数="_所有者"、値=42、コード=INVALID_ARGUMENT、バージョン=abi /5.4.0) で Logger.makeError (swapv1.1.1.f4473701.js:66157) で Logger.throwError (swapv1.1.1.f4473701.js:66166) で Logger.throwArgumentError (swapv1.1.1.f4473701.js:66169) でAddressCoder._throwError (swapv1.1.1.f4473701.js:149229) で AddressCoder.encode (swapv1.1.1.f4473701.js:149357) で swapv1.1.1.f4473701.js:149419 で Array.forEach () で Object.pack (swapv1.1.1.f4473701.js:149407) TupleCoder.encode (swapv1.1.1.f4473701.js:149782) で AbiCoder.encode (swapv1.1.1.f4473701.js:149169)

手伝って頂けますか?