【问题标题】:How to develop and compile with hardhat using imports with different pragma/compiler versions?如何使用具有不同编译指示/编译器版本的导入来开发和编译安全帽?
【发布时间】:2021-04-09 13:02:13
【问题描述】:

hardhat 不支持 https 导入。在使用 npm 安装 openzeppelin 和 chainlink 并使用 @openzeppelin/@chainlink 后,我们会遇到编译指示/编译器版本问题,即使在 hardhat.config.js 中使用不同的编译器版本,甚至覆盖。您如何使用安全帽和这些导入进行开发和编译?

【问题讨论】:

    标签: solidity chainlink


    【解决方案1】:

    在您的hardhat.config.js 中,您可以添加多个编译器。

    module.exports = {
        solidity: {
            compilers: [
                {
                    version: "0.6.6"
                },
                {
                    version: "0.4.24"
                }
            ]
        }
    }
    

    【讨论】:

    • 嗨@Patrick。如描述中所述,我们尝试了多个编译器并使用了所有组合甚至覆盖。一般来说:如何处理带有 pragma 0.a.b 的合同,该合同使用 pragma 0.c.d 进口的合同...等。 These files import other files that use a different and incompatible version of Solidity: * contracts/x.sol (0.a.b) imports @chainlink/contracts/.../y.sol (0.c.d)
    • 你的操作系统是什么?
    • MacOS。 npx 安全帽 --version 2.2.0
    • 啊,它实际上可能是 Mac 的东西。我在使用 Mac 下载软件包时遇到问题,但在 Linux 上很好
    • 嗯,这很奇怪。但是话又说回来,如果这解决了导入问题,那么处理多个编译器的最佳方法是什么?您是否只是让您的 hardhat.config.js 随新(导入)合约所需的每个编译器版本一起增长?
    猜你喜欢
    • 2022-08-09
    • 2010-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多