問題タブ [ganache]

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

limit - グラフィック インターフェースからガナック ガス リミットを引き上げる

実行したいいくつかの大きなテストがありますが、
「X がガスを使い果たしました。コンストラクターの何か (例: 無限ループ) により、ガスの推定が失敗しました。試してください:

  • コントラクト コンストラクターをより効率的にする
  • 設定でガスを手動で設定するか、展開パラメーターとして設定する
  • 「truffle-config.js」でsolcオプティマイザー設定を使用する
  • プライベート ネットワークまたはテスト クライアント (ganache など) を使用している場合は、より高いネットワーク ブロック制限を設定します。」

ファイル truffle-config.js で既に最大ガス制限まで増やしましたが、6721975 に制限されているため、十分ではありません。
$ganache -cli -l 30000000 について話している人を見ましたが、コマンドラインにガナッシュがありません。
私の質問は次のとおりです。この値を変更するにはどうすればよいですか? ここに画像の説明を入力

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

unit-testing - Truffle テストが「成功」する前に終了していないようで、送信された tx の transactionHash を待機していません

昨夜からずっと頭を悩ませていたクイック問題、

私の truffle (v5.2.3) テスト ファイルは2 つのcall()テストを実行し、その後、スマート コントラクトのストレージに永続的な変更を加えるためにトランザクションを順次送信します。これらのテストは次のとおりです (ダンプされたファイルで申し訳ありません。できる限り最小限に抑えました)。

最初のテスト コールで、トランザクションを正常に送信します。実行するたびtruffle testに、コンソールに期待どおりのログ結果が表示されます。

呼び出しが成功しても、何らかの理由でトランザクションを送信しない2 番目のテストに進みます。

アサーションは成功しており、コントラクト コールから返された結果がログに記録されwhat the hellsendTransactionますit()

さらに奇妙なのは、3 番目のテストを追加すると、期待どおりに動作することです:テスト ブロックから のit()コメントを外してください。it("return false", () => { assert(0==1); });

私は昨日からこれで髪を失っていて、ある種の並行性/タイミングの問題のにおいがします。送信されたトランザクションのシーケンスを制御する方法、またはトランザクションが送信されてマイニングされるのを待ってからテストに進む方法はありますか? 印刷されたs
の奇妙なシーケンス(たとえば、テスト 2 が実際に txHash とイベント データを印刷する前に 3 番目のテストが失敗する)は、おそらくそのようなものを指していますが、ブロックは tx が採掘!console.log()result.on()

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

react-native - Expo をガナッシュに接続する方法

ethers.js を使用して Typescript Expo アプリをローカルのガナッシュ ノードに接続しようとしています。現在、私のコードは次のようになっています。

公開アドレスは正しく表示されていますが、オンチェーン データ (Gas Price など) を取得しようとすると、「NO-NETWORK」エラーが発生します。url が原因で expo クライアントが Ganache ノードに接続できないこと、およびネイティブ アプリケーションと Web アプリケーションが異なるホスト表記 (localhost と 192.168.1.1) を使用しているという事実があると思いますが、正確に何に変更する必要があるのか​​ わかりません。このことを機能させます。