【问题标题】:Trying to compile contract but getting "ParserError: Source "@openzeppelin/contracts/token/ERC1155/IERC1155.sol" not found: File not found."试图编译合约但得到“ParserError: Source "@openzeppelin/contracts/token/ERC1155/IERC1155.sol" not found: File not found.”
【发布时间】:2022-01-02 21:07:19
【问题描述】:

我正在尝试编译一份合同,以便我可以启动巧克力蛋糕控制台,但我不断收到我尝试导入的合同的错误。

ParserError: Source "@openzeppelin/contracts/token/ERC1155/IERC1155.sol" not found: File not found.
 
--> contracts/DutchAuction.sol:3:1:

  |
3 | import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol";
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`

我将如何解决这个问题?非常感谢!

【问题讨论】:

    标签: ethereum solidity brownie


    【解决方案1】:

    importing packages, per the brownie docs 时,您首先必须安装软件包。您可以从以下位置安装它们:

    最常见的方法之一是直接从 github 版本安装。为此,您必须更新您的brownie-config.yaml(或者如果您还没有,则制作此文件)

    然后您必须将 github 存储库添加为具有结构的依赖项:

    REPO_OWNER/REPO_NAME@RELEASE_VERSION
    

    如果您想使用@ 语法,然后将其添加到重新映射中,如下所示:

    dependencies:
      - OpenZeppelin/openzeppelin-contracts@4.3.2
    compiler:
      solc:
        remappings:
          - '@openzeppelin=OpenZeppelin/openzeppelin-contracts@4.3.2'
    

    如果你把这个例子放到你的brownie-config.yaml中,这个例子应该适用于这个特定的用例

    【讨论】:

    • 谢谢帕特里克,我现在可以继续我的项目了。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2016-08-25
    • 2021-10-07
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 2012-01-08
    • 2020-09-26
    • 2012-04-09
    相关资源
    最近更新 更多