【问题标题】:Is any version of `@openzeppelin/contracts` for `erc1155` use sol 0.5.0`erc1155` 的任何版本的`@openzeppelin/contracts` 是否使用 sol 0.5.0
【发布时间】:2021-10-07 11:21:27
【问题描述】:

我安装了npm install @openzeppelin/contracts --save-dev 以使用令牌erc1155,我的项目在所有智能合约的0.5.0 版本上运行,erc1155 使用的是0.8.0,我收到此错误Error: Truffle is currently using solc 0.5.16, but one or more of your contracts specify "pragma solidity ^0.8.0". 是@ 的任何版本987654325@ for erc1155 使用 sol 0.5.0 吗?

【问题讨论】:

    标签: solidity smartcontracts openzeppelin


    【解决方案1】:

    在 openzeppelin github repo 中,erc1155 是从 3.1.0 版本开始合并的。您可以通过运行npm i @openzeppelin/contracts@3.1.0 --save-dev 来获取该特定包。
    至于编译器兼容性,您可以在truffle-config.js 中调整版本。它应该在

    compilers: {
        solc: {
          version: "x.x.x"
        }
    }
    

    【讨论】:

    • 我已经尝试过了,但是npm i @openzeppelin/contracts@3.1.0 --save-dev 使用pragma solidity ^0.6.0; 并且我的项目使用的是0.5.0,我仍然尝试按照您在上面提供的方式配置solidity 的版本,但我得到了这个错误而不是@987654326 @你能帮我吗?
    猜你喜欢
    • 2022-01-02
    • 2021-02-01
    • 2022-11-11
    • 2022-12-10
    • 2020-11-19
    • 2013-07-18
    • 2010-12-27
    • 1970-01-01
    • 2022-08-04
    相关资源
    最近更新 更多