首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编译较旧的zeppelin-solidity合约实现

如何编译较旧的zeppelin-solidity合约实现
EN

Stack Overflow用户
提问于 2020-04-30 03:50:20
回答 1查看 880关注 0票数 0

我使用npm安装了zeppelin-solidity包,以使用erc-721合同。

但问题是,当我使用truffle编译时,它给出了以下错误:

代码语言:javascript
复制
/Users/me/dev/myfolder/erc721/node_modules/zeppelin-solidity/contracts/token/ERC721/ERC721Token.sol:1:1: ParserError: Source file requires different compiler version (current compiler is 0.5.16+commit.9c3226ce.Emscripten.clang - note that nightly builds are considered to be strictly less than the released version
pragma solidity ^0.4.24;
^----------------------^

Error: Truffle is currently using solc 0.5.16, but one or more of your contracts specify "pragma solidity ^0.4.24".
Please update your truffle config or pragma statement(s).
(See https://truffleframework.com/docs/truffle/reference/configuration#compiler-configuration for information on
configuring Truffle to use a specific solc compiler version.)

编译失败。请参见上面的。

我看到的一些答案建议将编译指示提高到0.5,但如何在包含的文件中更改版本?

另外,如果这个契约很旧,我是否应该使用它,或者是否有更好的erc721实现可用?

更新:我已经尝试更改solc编译器,如下所示,但错误仍然存在:

代码语言:javascript
复制
compilers: {
    solc: {
        version: "^0.4.24",
        //parser: "solcjs",
        optimizer: {
            enabled: true,
            runs: 200
        }
    }
  }
EN

回答 1

Stack Overflow用户

发布于 2020-04-30 14:45:36

编写一个名为truffle.js的文件,如下所示:

代码语言:javascript
复制
  module.exports = {
  // Configure your compilers
  compilers: {
    solc: {
      version: ">=0.4.24", // Fetch exact version from solc-bin (default: truffle's version)
    }
  },
};

并将其放在项目根目录下。就这样。

了解更多关于松露配置的信息:https://www.trufflesuite.com/docs/truffle/reference/configuration

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61510469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档