問題タブ [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.
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 番目のパラメーターとして渡されるデフォルトのトークン オペレーターのリストに、(デプロイされたオペレーター コントラクトの) 有効なアドレスを入力しようとしました。残念ながら違いはありませんでした。
デプロイ機能ですべての可能性を使い果たしましたが、それ以上のデバッグ情報は得られません。誰かが同様の問題を経験したことがありますか、またはこれをさらにデバッグする方法を知っていますか? どんな助けでも大歓迎です!
blockchain - ERC20:送金金額が許容範囲を超えている ブラウニーとNFTのスマートコントラクト
こんにちは、私は 2 つのスマート コントラクトを持っています。1 つは Moralis IPFS サーバーから NFT を作成する ERC1155 コントラクトで、もう 1 つは ERC20 トークンです。ユーザーが ERC20 トークンを使用して作成された NFT の支払いを行えるようにしたいのですが、transferfrom()
関数で次のエラーが表示されます:brownie.exceptions.VirtualMachineError: 元に戻す: ERC20: 送金金額が許容範囲を超えています。私はいくつかの調査を行いましたが、これまでのところ何も役に立ちませんでした。
これは私のERC1155契約です
これがERC20コントラクトです
これはテストスクリプトです
また、関数 minPomobot() を有料にする必要がありますか?
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.0
1.0.0-beta.0
問題は、どうにかして Brownie に有効なバージョンを認識させることができるか、またはこれを修正する他の方法があるかということです。