【问题标题】:Imports for "@chainlink" and "@openzeppelinn" are broken“@chainlink”和“@openzeppelinn”的导入被破坏
【发布时间】:2021-11-17 05:14:34
【问题描述】:

每当我尝试进行如下所示的两个导入时,它们都无法识别。我正在使用 VSCode。是的,我已经尝试安装和卸载很多次。如果有人知道为什么那将是 EPIC。谢谢。

import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721Full.sol";

【问题讨论】:

标签: solidity web3 hardhat brownie


【解决方案1】:

VSC Solidity 扩展无法读取 Brownie 的重新映射。我假设您收到此错误:

来源 “@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol” 未找到:不支持文件导入回调

来源“@openzeppelin/contracts/token/ERC721/ERC721Full.sol”不是 发现:不支持文件导入回调

确保在brownie-config.yaml中正确设置依赖项和重新映射

dependencies:
  - smartcontractkit/chainlink-brownie-contracts@0.2.1
  - OpenZeppelin/openzeppelin-contracts@3.4.0
compiler:
  solc:
    remappings:
      - '@chainlink=smartcontractkit/chainlink-brownie-contracts@0.2.1'
      - '@openzeppelin=OpenZeppelin/openzeppelin-contracts@3.4.0'

编译你的合同:

brownie compile

如果编译成功,Brownie应该已经下载了包,可以运行确认

brownie pm list

为 VSCode Solidity 扩展设置重新映射(例如在 ./vscode/settings.json 中)

"solidity.remappings": [
  "@chainlink/=<PATH_TO_BROWNIE_STUFF>/.brownie/packages/smartcontractkit/chainlink-brownie-contracts@0.2.1",
  "@openzeppelin/=<PATH_TO_BROWNIE_STUFF>/.brownie/packages/OpenZeppelin/openzeppelin-contracts@3.4.0",
]

确保您在所有配置文件中都获得了正确的版本 (@x.x.x)。

如果您使用的是 Linux,&lt;PATH_TO_BROWNIE_STUFF&gt; 可能是您的主目录 (/home/jjreedv)

【讨论】:

    猜你喜欢
    • 2011-02-15
    • 1970-01-01
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多