如何导入 Chainlink Aggregator?

Chainlink Aggregator 本地导入

说明

如果要在 Remix 中导入 Chainlink Aggregator ,可以在导入依赖的部分写下如下代码:

import {AggregatorV3Interface} from "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";

这样 Remix 可以自动下载对应的 npm 库(@chainlink/contracts)并导入对应的依赖。

但在本地开发时,却无法通过这种方式导入依赖,因为编译器不会自动联网并下载所缺依赖。为了解决这个问题,我们需要安装相应的依赖 Chainlink Starter Kit, 并让 @chainlink/contracts/ 映射至该依赖。

前置条件

确保已经按照 Foundry 环境配置的要求初始化了项目。

解决步骤

1. 初始化合约

根据 Patrick Lesson 4 的代码,将 FundMe.solPriceConverter.sol 粘贴到 Foundry src 当中。

2. 下载所需依赖

由于 VSCode 不会像 Remix 一样自动下载所需的包,当我们下载 Chainlink 的 Aggregator 时,VSCode 将无法找到相应的文件。

因此,我们需要在命令行中手动下载 Chainlink 的开发者包,命令如下:

forge install smartcontractkit/chainlink-brownie-contracts@0.6.1 --no-commit

3. 设置对应映射

foundry.toml 是 Foundry 的配置文件,我们可以在其中添加映射:

remappings = ["@chainlink/contracts=lib/chainlink-brownie-contracts/contracts/"]

这样 Foundry 在导入时就能够自动从本地寻找相应的文件了。

之后,再去编译项目:

forge build

不会出现报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值