如何使用IPFS和Filecoin创建NFT

挑战1 – 部署一个 NFT 合约

工具使用

步骤

1. 为项目新建一个目录并输入;

2. 使用默认设置开启一个新的NPM项目;

3. 安装 HardHat and OpenZeppelin 合约作为开发依赖项;

4. 使用HardHat生成项目scaffold;

当提示安装依赖项时,接受默认值。最后你会看到如下信息:

并且目录下会创建一些新文件:

5.(可选)使用Git来管理你的代码;

6. 用你最擅长的IDE并打开项目目录;

点击 contracts 目录,然后打开 Greeter.sol,你将看到一个 “hello world” 合约。

7. 在合约文件中创建一个名为 ‘GameItem.sol’ 的新文件,把这个粘贴进:
Source: httpss://docs.openzeppelin.com/contracts/4.x/erc721;

8. 编译智能合约;

9. 从HardHat框架中打开示例脚本;

在你的编辑器中打开scripts/sample-script.js 。
将 Greeter 重命名为 GameItem , greeter重命名为 gameItem。 移除该参数 到 GameItem.deploy()。
最终结果中的 main 函数应该是这样的:

10. 使用 hardhat 命令运行该脚本:

提示已经部署在这个地址上了!看上去是不是我们已经完成了?

不,还没完。默认情况下,HardHat使用ephermeral blockhain模拟器作为它的目标环境,这对于编写自动化测试很有用,但是对互动式编程不太友好。
接下来我们将启动一个本地节点,并且告诉HardHat使用它。

11. 在项目目录中打开一个新的终端,并且运行hardhat节点;

12. 返回原始终端,将HARDHAT_NETWORK环境变量设置为localhost,并且重新运行该脚本。

脚本输出的结果大致是相同的,但是如果你查看其他的终端,你将在hardhat的输出中看到一些交易信息。

挑战 2
1. 在你的编辑器里再次打开 scripts/sample-script.js;
在合约部署完成后,尝试调用一下 awardItem 函数。

2. 运行脚本。

挑战 3

1. 安装nft.storage客户端;

2. 在你的编辑器中再次打开 scripts/sample-script.js;

导入client package和File constructor,引用node.js内置的 readFile

3. 创建一个新的函数来加载一张图片并保存;

4. 使用storeNFTData方法获得 metadata URL,然后创建该token。

在 main函数中:

原文链接:httpss://hackmd.io/E-pMngLbReqw-TEJDhe_4Q

给TA买糖
共{{data.count}}人
人已赞赏
互联网

确保代码与假设相匹配 别写出给人惊吓的代码

2021-11-9 7:55:39

互联网

详尽解释隔离见证

2021-11-9 7:55:56

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索