0

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

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

1 回答 1

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,<PATH_TO_BROWNIE_STUFF>则可能是您的主目录 ( /home/jjreedv)

于 2021-11-25T06:03:18.897 回答