挑战1 - 部署一个 NFT 合约
工具使用
2. 使用默认设置开启一个新的NPM项目;
3. 安装 HardHat and OpenZeppelin 合约作为开发依赖项;
4. 使用HardHat生成项目scaffold;
当提示安装依赖项时,接受默认值。最后你会看到如下信息:
并且目录下会创建一些新文件:
5.(可选)使用Git来管理你的代码;
6. 用你最擅长的IDE并打开项目目录;
点击 contracts 目录,然后打开 Greeter.sol,你将看到一个 “hello world” 合约。7. 在合约文件中创建一个名为 ‘GameItem.sol’ 的新文件,把这个粘贴进:Source: https://docs.openzeppelin.com/contracts/4.x/erc721;
8. 编译智能合约;
在你的编辑器中打开scripts/sample-script.js 。将 Greeter 重命名为 GameItem , greeter重命名为 gameItem。 移除该参数 到 GameItem.deploy()。
10. 使用 hardhat 命令运行该脚本:
提示已经部署在这个地址上了!看上去是不是我们已经完成了?不,还没完。默认情况下,HardHat使用ephermeral blockhain模拟器作为它的目标环境,这对于编写自动化测试很有用,但是对互动式编程不太友好。接下来我们将启动一个本地节点,并且告诉HardHat使用它。
11. 在项目目录中打开一个新的终端,并且运行hardhat节点;
12. 返回原始终端,将HARDHAT_NETWORK环境变量设置为localhost,并且重新运行该脚本。
脚本输出的结果大致是相同的,但是如果你查看其他的终端,你将在hardhat的输出中看到一些交易信息。1. 在你的编辑器里再次打开 scripts/sample-script.js;在合约部署完成后,尝试调用一下 awardItem 函数。
2. 运行脚本。
2. 在你的编辑器中再次打开 scripts/sample-script.js;导入client package和File constructor,引用node.js内置的 readFile
3. 创建一个新的函数来加载一张图片并保存;
4. 使用storeNFTData方法获得 metadata URL,然后创建该token。
原文链接:https://hackmd.io/E-pMngLbReqw-TEJDhe_4Q