Alchemy第一周边学边获取NFT

Alchemy计划将新资金用于推广Web3采用,这方面的一些举措包括推出Web3 University,就是现在的 Road to Web3 活动,活动为期10周,每周一个NFT。

该课程是为期10周,只要你在10周完成就可以。

今天我们先来说下第一个任务课程:如何使用 Alchemy 开发 NFT 智能合约(ERC721)

官方提供了一个本课程的大纲:

  • 如何使用 OpenZeppelin 和 Remix 编写和修改智能合约

  • 使用Goerl网络获得免费的 Rinkeby ETH

  • 将其部署在以太坊 Goerl测试网区块链上以节省汽油费

  • 使用 Filebase 在 IPFS 上托管 NFT 令牌元数据。

  • 铸造 NFT 并在 OpenSea 上可视化

1.编写合约

首先我们来到合约编写页面

合约编写页面
合约编写页面

合约编写页面

2.将合约使用Remix修改和部署

post image

导入Remix后合约的结构如下:

post image

我们需要修改如下几点:

1.该NFT是任何人都可以mint的,所以修改如下

  function safeMint(address to, string memory uri) public {
        require(_tokenIdCounter.current() <= MAX_SUPPLY, "I'm sorry we reached the cap");
        uint256 tokenId = _tokenIdCounter.current();
        _tokenIdCounter.increment();
        _safeMint(to, tokenId);
        _setTokenURI(tokenId, uri);
    }

2.修改NFT的供应总量

 uint256 MAX_SUPPLY = 100000; //将该代码添加在Counters.Counter private _tokenIdCounter下一行

3.获取测试token

我们去到下面的网站获取测试Token,同时需要大家去Alchemy注册一个账号

4.创建一个Alchemy的app

1.首先我们去到Alchemy注册一个账户,同时新建一个app(需要选择以太坊生态和Rikney)

post image

查看我们的Key

post image

5.将 Alchemy Rinkeby 添加到 Metamask 钱包,信息如下

  • Network name: Alchemy Rinkeby

  • New RPC URL: 你申请的app的地址,去上面的viewkey获取即可

  • Chain ID: 4

  • Currency Symbol: ETH

  • Block Explorer: https://rinkeby.etherscan.io/

6.部署发布我们的合约

部署合约
部署合约

部署合约

将出现一个 Metamask 弹出窗口,点击“签名”,然后继续支付 gas 费用。如果一切都按预期工作,10 秒后,应该会在 Deployed Contracts 下看到该合约:

已经部署完成的合约
已经部署完成的合约

已经部署完成的合约

7.上传我们的NFT元数据

Pinata网站可以管理我们的元数据,一定要去学会怎么使用,我们只需要申请一个账号,会免费给1g的存储空间。

post image

mint我们的NFT,在safeMint输入我们的钱包地址和刚才编写的uri(ipfs://\<your\_metadata\_cid>)使用json的。

post image

8.查看我们的NFT

我们去到OpenSea测试网站查看我们做的NFT

我们找到对应合约的NFT,现在我们看到的合约地址和我们刚才部署的合约地址是否对应上,现在还是盲盒,需要我们自己去操作下

post image

9.开盲盒

在tokenUri 插入“0”作为 id 参数,点击call,它应该显示你的 tokenURI。

post image
post image

需要等待一段时间,大家可以先试试。