問題タブ [brownie]

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

ethereum - ブラウニー フレームワークを使用して、標準の OpenZeppelin ERC777 コントラクトを ganache-cli にデプロイしようとするとエラーが発生する

ブラウニー フレームワークと堅牢性を使用したスマート コントラクト開発に慣れています。まず、 を使用して、brownie consoleいくつかの標準的な OpenZeppelin トークン コントラクトをデプロイしました。

このページのように、ドキュメントからコードをコピーし、ブラウニーで動作するようにインポートを調整することでこれを行いました: https://docs.openzeppelin.com/contracts/3.x/erc777

ERC20 および ERC721 コントラクトでは正常に機能します。ただし、ERC777 は常に元に戻り、エラー メッセージのないトランザクションを表示します。トレース メソッドはデプロイ トランザクション用に実装されていないため、機能しません。

ERC777 トークンのコード (動作しない)

ERC20トークンのコード(ワーキング)

Brownie コンソールでの出力

また、GLDToken の deploy 関数に 2 番目のパラメーターとして渡されるデフォルトのトークン オペレーターのリストに、(デプロイされたオペレーター コントラクトの) 有効なアドレスを入力しようとしました。残念ながら違いはありませんでした。

デプロイ機能ですべての可能性を使い果たしましたが、それ以上のデバッグ情報は得られません。誰かが同様の問題を経験したことがありますか、またはこれをさらにデバッグする方法を知っていますか? どんな助けでも大歓迎です!

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

blockchain - ERC20:送金金額が許容範囲を超えている ブラウニーとNFTのスマートコントラクト

こんにちは、私は 2 つのスマート コントラクトを持っています。1 つは Moralis IPFS サーバーから NFT を作成する ERC1155 コントラクトで、もう 1 つは ERC20 トークンです。ユーザーが ERC20 トークンを使用して作成された NFT の支払いを行えるようにしたいのですが、transferfrom()関数で次のエラーが表示されます:brownie.exceptions.VirtualMachineError: 元に戻す: ERC20: 送金金額が許容範囲を超えています。私はいくつかの調査を行いましたが、これまでのところ何も役に立ちませんでした。

端末からのエラー

これは私のERC1155契約です

これがERC20コントラクトです

これはテストスクリプトです

また、関数 minPomobot() を有料にする必要がありますか?

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

solidity - Uniswap V2 Periphery をパッケージとして Brownie に追加できません

Brownie のドキュメントに従って、Solidity プロジェクトにパッケージを追加しています。と を追加する必要がUniswap/v2-coreありUniswap/v2-peripheryます。これを行うために、ターミナルで次の行を呼び出しました。

これは正しく機能しており、パッケージをインストールしました

ただし、以下の行を呼び出すと、Githubにはの代わりにバージョンがあるValueError: Invalid version for this package. Available versions are: 1.0.0-beta.0ため、奇妙なエラーが発生します@1.1.0-beta.01.0.0-beta.0

問題は、どうにかして Brownie に有効なバージョンを認識させることができるか、またはこれを修正する他の方法があるかということです。