# 跟着Alchemy边学边获取NFT

By [Coinman.eth](https://paragraph.com/@coinman-eth) · 2022-08-11

---

Alchemy是什么项目？
-------------

2019年12月，Alchemy完成**1500万美元A轮融资**，资方为Pantera Capital，斯坦福大学，Coinbase，三星等。

2021年4月，Alchemy以5.05亿美元估值完成**8000万美元B轮融资**，Coatue和Addition领投，DFJ Growth、K5 Global、Chainsmokers（烟鬼组合）、演员Jared Leto和Glazer家族参投。

2021年10月，Alchemy以35亿美元估值完成**2.5亿美元C轮融资**，由a16z领投的。

2022年2月，Alchemy以102亿美元估值完成2亿美元融资，Lightspeed与Silver Lake领投。

**Alchemy是一个**背景强大、经费充足、踏实做事、没有发币的团队，这样的项目不刷，难道去刷土狗吗？

并且，Alchemy计划将新资金用于推广Web3采用，这方面的一些举措包括推出Web3 University，就是现在的 Road to Web3 活动，活动为期10周，每周一个NFT。看了下nft数量极少，估计由于任务难度大，很多小伙伴直接放弃，这样的项目若是空投，绝对是大毛。

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

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

官方提供了一个本课程的大纲，帝哥带着大家一起走一遍：

*   如何使用 OpenZeppelin 和 Remix 编写和修改智能合约
    
*   **使用rinkebyfaucet.com**获得免费的 Rinkeby ETH
    
*   将其部署在以太坊 Rinkeby 测试网区块链上以节省汽油费
    
*   使用 Filebase 在 IPFS 上托管 NFT 令牌元数据。
    
*   铸造 NFT 并在 OpenSea 上可视化
    

**1.编写合约**

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

[https://docs.openzeppelin.com/contracts/4.x/wizard](https://docs.openzeppelin.com/contracts/4.x/wizard)

![合约编写页面](https://storage.googleapis.com/papyrus_images/a4b7de7e1ade2eac51601e0d81f05a4e061f0193a0da1a4ec7aacd55a07c22bc.png)

合约编写页面

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

![](https://storage.googleapis.com/papyrus_images/98f7211d81c080427427c7c54eb709e84bf86ef47a1394a1d3b33c70983ac4f5.png)

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

![](https://storage.googleapis.com/papyrus_images/9471821557118d96c2098d6e8bfb680c7c03b4a0fb6d64fc39d16d2bdfa0ee55.png)

我们需要修改如下几点，你们也可以直接将帝哥的代码覆盖你的函数即可：

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注册一个账号

[https://rinkebyfaucet.com/](https://rinkebyfaucet.com/)

**4.创建一个Alchemy的app**

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

[https://www.alchemy.com/](https://www.alchemy.com/)

![](https://storage.googleapis.com/papyrus_images/aaaad2a0e0ab853c4f37ed07331d8aae88e1e2fdc97e2687887d6bf0e7a20569.png)

查看我们的Key

![](https://storage.googleapis.com/papyrus_images/c0810393bfe17378eb7a51d0255c6454120290bd90ea1d305e9f122352db45f3.png)

**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/](https://rinkeby.etherscan.io/)
    

**6.部署发布我们的合约**

![部署合约](https://storage.googleapis.com/papyrus_images/62c4c9c043d64cbf3a0220be3d69ae8e83818df634318ec1c8cebdbbb697125b.png)

部署合约

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

![已经部署完成的合约](https://storage.googleapis.com/papyrus_images/d1c6e273095c3c038d4842b110d6ef64573f16a8db0b13d32b1efb747809bb85.png)

已经部署完成的合约

**7.上传我们的NFT元数据**

帝哥跟大家说过多次Pinata网站管理我们的元数据，一定要去学会怎么使用，我们只需要申请一个账号，会免费给我1g的存储空间。

[https://app.pinata.cloud/](https://app.pinata.cloud/)

![帝哥的空间](https://storage.googleapis.com/papyrus_images/b5c6a3728e3a7c34760c07395af0f6abfdc603de62f771d6547975ef3fe8bab3.png)

帝哥的空间

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

![](https://storage.googleapis.com/papyrus_images/1d3b75264a4b108c194cd71b0a6adc736d0931eb6e9616336e557ba78ee88206.png)

**8.查看我们的NFT**

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

[https://testnets.opensea.io/zh-CN](https://testnets.opensea.io/zh-CN)

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

![](https://storage.googleapis.com/papyrus_images/12a2ab897f7fc0dda3dbefa777be8541a6a9428ab049510db11b8af534fa3ae7.png)

**9.开盲盒**

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

![](https://storage.googleapis.com/papyrus_images/72f03fdf46c3ab34f87dcccd61c98090e9c70c5b5555ca2881ed041dfa7a6e79.png)

![](https://storage.googleapis.com/papyrus_images/13e3883c06de07b07667a48633ee816f63ba955b698c4dc2bb9eb5283e99635c.png)

因为帝哥这还没有出来，需要等待一段时间，大家可以先试试。

**10.获取NFT**

1.  去[https://www.mintkudos.xyz](https://www.mintkudos.xyz/)
    
2.  连接你的钱包（确保这是你用来填写所有表格的同一个钱包）。
    
3.  单击右上角的个人资料图片。
    
4.  点击“获得荣誉”。
    

\*\*如果通过提交表格提交了我的项目，什么时候可以在 MintKudos 上领取我的 PoK？\*\*PoK 每周铸造一次，时间介于周五和周日之间。如果迟交项目并错过截止日期，请不要担心。将在下周铸造 PoK。记得每周项目都得提交哦，第一周的链接是：

[https://alchemyapi.typeform.com/roadtoweekone](https://alchemyapi.typeform.com/roadtoweekone)

我是懂币帝，用技术带你领略区块链魅力，第一时间获取行业最新资讯：

推特：@CoinmanLabs

微信：CoinmanLabs（社群客服微信进群）

---

*Originally published on [Coinman.eth](https://paragraph.com/@coinman-eth/alchemy-nft)*
