首页 > 解决方案 > Solidity 库 openzeppelin-solidity/contracts/utils/Context.sol:15:1: ParserError: Expected pragma, abstract contract Context { ^------^

问题描述

我正在尝试遵循来自 www.trufflesuite.com 的 tutotial BUILDING ROBUST SMART CONTRACTS WITH OPENZEPPELIN

这里的链接https://www.trufflesuite.com/tutorials/robust-smart-contracts-with-openzeppelin

创建“TutorialToken”智能合约

安装 OpenZeppelin 并下载项目模板后,我尝试编译并收到此错误,我还没有编写任何自己的代码,它基本上是一个空项目,它应该根据教程编译,但由于 OpenZeppelinon 的错误而失败文件。

编译失败

感谢您花时间阅读本文

TutorialToken.sol

pragma solidity 0.6.0;

import "openzeppelin-solidity/contracts/token/ERC20/ERC20.sol";

contract TutorialToken is ERC20 {
    
        string public name = "TutorialToken";
        string public symbol = "TT";
        uint8 public decimals = 2;
        uint public INITIAL_SUPPLY = 12000;


        constructor() public {
        _mint(msg.sender, INITIAL_SUPPLY);
    } 
}

truffle-config.js

  module.exports = {   // See <http://truffleframework.com/docs/advanced/configuration>   // for more about customizing your Truffle configuration!  
 networks: {
    development: {
      host: "127.0.0.1",
      port: 7545,
      network_id: "*" // Match any network id
    }   },
    compilers: {
       solc: {
    version: "0.4.24" //(Default: Truffle's installed    solc)   
    }  
  }

};

标签: tokenethereumsolidity

解决方案


固定的 !!!!

它现在工作!

我从 OpenZeppelin 社区得到了答案:

本教程使用的编译器版本似乎是 0.4.x,但现在,最新版本是 0.8.x,所以我认为你应该运行 npm i openzeppelin-solidity@2.0.0 来安装。

顺便说一句,您可以查看一些较新的教程:

OpenZeppelin 升级:Truffle 分步教程 OpenZeppelin 升级:Hardhat 分步教程


推荐阅读