2

我正在尝试导入此代码

import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
import "@chainlink/contracts/src/v0.6/vendor/SafeMathChainlink.sol";

但是当我尝试编译时出现“源”@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol“未找到:不支持文件导入回调”错误消息。

我的 brownie-config.yaml 文件有

dependencies:
  # - <organization/repo>@<version>
  - smartcontractkit/chainlink-brownie-contracts@1.1.1
compiler:
  solc:
    remappings:
      - '@chainlink=smartcontractkit/chainlink-brownie-contracts@1.1.1'

但代码仍然会导致相同的错误。有什么解决办法吗?

4

2 回答 2

1

似乎运行brownie compile无法安装brownie-yaml.config. 您可以使用以下命令检查 brownie 安装包:

$ brownie pm list

如果缺少包,需要先安装包:

$ brownie pm install smartcontractkit/chainlink-brownie-contracts@1.1.1  

然后,再次编译项目:(-a标志是可选的,它是强制重新编译所有合约)

$ brownie compile -a

错误应该消失了,因为现在我们在编译合约之前首先正确安装了依赖项

于 2021-12-29T11:51:18.387 回答
0

我通过这样做解决了它:npm install @chainlink/contracts --save

并在 yaml 文件中执行:在此处输入图像描述

于 2022-02-10T19:41:00.940 回答