You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译@chainlink/contracts导入的Mock文件时遇TypeError求助

问题分析与解决方案

核心原因

Solidity 0.6.0版本不支持接口多继承,但你安装的@chainlink/contracts@0.3.1中,v0.6系列的AggregatorV2V3Interface接口使用了is AggregatorInterface, AggregatorV3Interface这种多继承写法,这是0.6.0编译器不允许的语法,直接导致编译报错。

解决方法

方法1:升级Solidity 0.6系列编译器版本

Solidity从0.6.12版本开始支持接口多继承,修改Hardhat配置中的0.6.x版本为0.6.12或更高的0.6系列版本:

solidity: {
  compilers: [
    {version: "0.8.9"},
    {version: "0.6.12"}, // 替换原0.6.0版本
  ]
},

修改后重新编译即可。

方法2:降级Chainlink合约版本

如果必须使用Solidity 0.6.0,可降级@chainlink/contracts到v0.2.1版本(该版本的v0.6接口未使用多继承,完全兼容0.6.0):
执行命令:

npm install @chainlink/contracts@0.2.1

保持你的Mock合约导入路径不变即可正常编译。

内容的提问来源于stack exchange,提问作者dharma-kṣetre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 07:07:06