跟着网站how-to-create-an-nft做代码练习,遇到几个坑,记录下来。
-
import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; 爆红
原因是:在VS Code里面,添加了'solidity' and 'Solidity + Hardhat' 2个扩展,把 'solidity' Disable 了,关闭当前窗口,重新打开就好了。
-
目录结构的问题:将'contracts'目录放到'src'目录下,导致 'npx hardhat compile'找不到.sol 文件。
'contracts'目录只能放在根目录下,改好了目录结构,代码又报错了。
原因是:我安装的'@openzeppelin/contracts'是最新版本4.7.2,教程里面安装的是低版本'@openzeppelin/contracts@3.1.0-solc-0.7'。暂时去掉父类没有的函数。
至此,最初的代码编译通过。