大佬教程收集整理的这篇文章主要介绍了导入 OpenZeppelin 的 ERC721Full.sol 库时解析错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试使用 truffle 编译我的智能合约时,出现了以下错误: 解析@openzeppelin/contracts/token/ERC721/ERC721.sol 时出错:ParsedContract.sol:51:72:ParserError:应为“{”,但保留关键字“overrIDe”。
我的智能合约:
pragma solidity 0.5.0;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract color is ERC721 {}
有谁知道如何解决这个问题?我知道这不是一个新问题,但我还没有找到对我有用的堆栈溢出或其他论坛解决方案。提前致谢。
@H_197_0@解决方法所以你的问题是在 ERC721
合约中有一个 constructor(String memory,String memory)
函数,它接受两个参数,第一个是 NFT 代币名称,第二个是 NFT 代币符号。
当您在 ERC721
合同中继承 color
合同时,您必须定义一个 constructor
函数来触发 constructor
合同的 ERC721
。
简而言之,您应该按如下方式修改您的合同:
contract Color is ERC721 {
constructor(String memory name,String memory symbol) ERC721(name,symbol) { }
}
或者如果你想要预设名称和符号,你可以这样做:
contract Color is ERC721 {
constructor() ERC721("Name","Symbol") { }
}
使您的文件代码如下:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
contract MyCollectible is ERC721 {
constructor() ERC721("MyCollectible","MCO") {
}
}
还要确保您已运行 npm install @openzeppelin/contracts
以上是大佬教程为你收集整理的导入 OpenZeppelin 的 ERC721Full.sol 库时解析错误全部内容,希望文章能够帮你解决导入 OpenZeppelin 的 ERC721Full.sol 库时解析错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。