問題タブ [openzeppelin]
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.
solidity - スマート コントラクトを展開するとき、コントラクトの "所有者" (既定では) はそれを展開する人ではありませんか?
onlyOwner 修飾子を使用する flashloan コントラクトで関数を使用しようとしています。フラッシュローン トランザクションを送信すると、「呼び出し元は所有者ではありません」というエラーが返されます。
このフラッシュローンを実行する際に契約を作成するために使用したのと同じアカウントを使用しているため、所有者として私が認識されない理由がわかりません。
コントラクトを作成するアドレスと、失敗したトランザクションを送信するアドレスが同じであることがわかります。 https://kovan.etherscan.io/address/0x91109bde85e0ab631d1983ce07b910ce4e99078a
そこにある最初のトランザクションをクリックしてください ^^ エラー メッセージを確認します。
onlyOwner 修飾子のコード: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol
契約ファイル
Withdrawable.sol (withdraw() 関数の由来)
solidity - 堅牢性: 識別子が見つからないか、一意ではありません
私はこの OpenZeppelin チュートリアルを進めています: https://docs.openzeppelin.com/learn/developing-smart-contracts?pref=truffleで、手順に正確に従いました。ただし、Auth コントラクトをインポートした後にコントラクトをコンパイルすると、コンパイルが失敗し、Identifier not found or not unique と表示されます。
これは私が得るエラーです: contract/Box.sol:10:5: DeclarationError: Identifier not found or not unique. プライベート認証を認証します。^--^
私のディレクトリは、チュートリアルとまったく同じようにセットアップされていますが、Auth.sol は access-control というディレクトリにありましたが、機能しません。
実行しようとしているコードは次のとおりです。