token - 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)
}
}
};
解决方案
固定的 !!!!
它现在工作!
我从 OpenZeppelin 社区得到了答案:
本教程使用的编译器版本似乎是 0.4.x,但现在,最新版本是 0.8.x,所以我认为你应该运行 npm i openzeppelin-solidity@2.0.0 来安装。
顺便说一句,您可以查看一些较新的教程:
OpenZeppelin 升级:Truffle 分步教程 OpenZeppelin 升级:Hardhat 分步教程
推荐阅读
- javascript - 无法加载资源:内部服务器错误(500):jQuery
- laravel - Laravel updateOrCreate 使用复合键
- mysql - Mysql Replication:该表不符合外部插件的要求
- python - 如何将字典插入sqlite数据库?
- excel - 具有“开始于”多个条件的 VBA 自动过滤器
- aframe - Aframe如何在vr模式下调整画布
- javascript - web-bluetooth 从设备 GATT 获取存储的数据
- python - 有没有办法使用工作表菜单自动更新列菜单?
- c# - 在离线模式下使用 Gmap
- java - ANTLR 不匹配的输入 'foo(some_foo)' 期望 {'foo'}