# 估值102亿融资5.45亿的Alchemy 项目Road to Web3第一周NFT获取教程

By [hulei419](https://paragraph.com/@hl419) · 2022-08-10

---

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

2021年4月，炼金术以5.05亿参投组合、K 5美元完成**8000万B轮融资**，并加入领英、DFJ全球成长、Chainsmokers（家族）、演员贾里德莱托和格雷泽。

2021年10月，Alchemy以35亿美元的价格完成了**2.5美元的C轮融资**，领6z的。

2022年2月，Alchemy以102亿美元估值完成2亿美元，光速与银奖。

**是一个**强大的背景、炼金术、没有安排这样的事情、不做任何事情的团队，反而去刷土狗吗？

并且，Alchemy 将推广使用新的成本，这方面的一些活动现在大学，在 3 月 3 日的网络活动中，包括每周 10 天在网上发布一个极少的信息。任务涉及大方面，对方直接放弃，这样的项目有选择的小空投，绝对是大毛。

手智能第一周开始：如何使用Alchemy开发NFT合约（ERC721）
-----------------------------------

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

官方文档[教程](https://docs.alchemy.com/docs/how-to-develop-an-nft-smart-contract-erc721-with-alchemy)有一个操作教程原稿50分钟的教程。

### step1 使用 OpenZeppelin 项目开发包 ERC721 智能工具合约。

1\. ERC721 NFT智能合约需要做的第一个项目是进入智能开发项目\*\*[Zeppelin。](https://docs.openzeppelin.com/contracts/4.x/wizard)\*\*

进入以下页面后，您将看到编辑器：

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

2.左上角的ERC721按钮，选择要使用的ERC标准类型，输入名称和符号：

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

3.如图所示，勾选NFT (ERC721) 代币功能：

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

勾选最后状态：

    // SPDX-License-Identifier: MIT
    pragma solidity ^0.8.4;
    
    import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
    import "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol";
    import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
    import "@openzeppelin/contracts/access/Ownable.sol";
    import "@openzeppelin/contracts/utils/Counters.sol";
    
    contract Alchemy is ERC721, ERC721Enumerable, ERC721URIStorage, Ownable {
        using Counters for Counters.Counter;
    
        Counters.Counter private _tokenIdCounter;
    
        constructor() ERC721("Alchemy", "ALCH") {}
    
        function safeMint(address to, string memory uri) public onlyOwner {
            uint256 tokenId = _tokenIdCounter.current();
            _tokenIdCounter.increment();
            _safeMint(to, tokenId);
            _setTokenURI(tokenId, uri);
        }
    
        // The following functions are overrides required by Solidity.
    
        function _beforeTokenTransfer(address from, address to, uint256 tokenId)
            internal
            override(ERC721, ERC721Enumerable)
        {
            super._beforeTokenTransfer(from, to, tokenId);
        }
    
        function _burn(uint256 tokenId) internal override(ERC721, ERC721URIStorage) {
            super._burn(tokenId);
        }
    
        function tokenURI(uint256 tokenId)
            public
            view
            override(ERC721, ERC721URIStorage)
            returns (string memory)
        {
            return super.tokenURI(tokenId);
        }
    
        function supportsInterface(bytes4 interfaceId)
            public
            view
            override(ERC721, ERC721Enumerable)
            returns (bool)
        {
            return super.supportsInterface(interfaceId);
        }
    }
    

### step2 使用 REMIX IDE 修改和部署 ERC721 合同

1.首先，您可能已经注意到，在 OpenZeppelin Wizard 编辑的顶部，有一个“Open in Remix”按钮，推动器在浏览器中打开 REMIX 的新选项卡。

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

2\. 删除 17 的唯一所有者，否则只允许合约智能行部署合约的地址生成 NFT。

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

3.在第14行填入 uint256 MAX\_SUPPLY = 100000;

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

4.在第 19 行添加 require(\_tokenIdCounter.current() <= MAX\_SUPPLY, "Im sorry we reached the cap");

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

### step3 创建一个免费的炼金术帐户

1.首先，到[alchemy.com](https://www.alchemy.com/)点击“登录”并创建一个新帐户：

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

2.进入Dashboard，点击create app。

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

3.如图，名字和描述可以随意输入，最下面选择以太链的Rinkeby，点击Create app。

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

4.创建完成后，回到仪表板，**点击“VIEW KEY”**，然后复制HTTPS URL：

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

### step4 将 Alchemy Rinkeby 添加到 Metamask 钱包

1.点击添加网络。

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

2.在其中填写Rinkeby网络和RPC URL信息并保存。

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

3.获取 Rinkeby Test ETH ,只需导航到 [rinkebyfaucet.com](https://rinkebyfaucet.com/) ，将钱包地址复制到文本栏中，然后点击“Send Me ETH”。10-20 秒后，会看到 Rinkeby ETH 出现在 Metamask 钱包中。

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

### step 5 在 Rinkeby 测试网上编译和部署 NFT 智能合约

1.回到 Remix，点击页面左侧的编译器菜单，版本选0.8.4，勾选Auto compile，然后点击“编译”按钮：

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

2.然后点击“Deploy and Run Transactions”菜单，点击Environment下拉菜单并选择“Injected provider (Metamask)”，点击contract选择Alchemy那个，单击deploy。

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

3.将出现 Metamask 弹出窗口，单击“确认”，然后继续支付 Gas 费用。

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

4.如果一切都按预期工作，10 秒后，您应该会在 Deployed Contracts 下看到该合约：

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

### step6 在 IPFS 上创建和上传元数据

1.首先，到 `filebase.com`创建一个新帐户。

登录后，单击左侧菜单上的存储桶按钮，然后创建一个新存储桶(自己取名字，重名不行)：

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

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

2.导航到存储桶，单击 **上传按钮** ，然后上传您要用于 NFT 的图像， [建议使用以下内容](https://ipfs.filebase.io/ipfs/bafybeihyvhgbcov2nmvbnveunoodokme5eb42uekrqowxdennt2qyeculm) 。

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

3.上传后单击它并复制 IPFS 网关 URL：

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

4.建txt文档，粘贴以下 JSON 代码，并将文件保存为“metadata.json”。注意将第三行image那里改成刚才的链接。

    { 
      "description": "This NFT proves I've created and deployed my first ERC20 smart contract on Rinkeby with Alchemy Road to Web3",
      "external_url": "Alchemy.com",
      "image": "https://ipfs.filebase.io/ipfs/bafybeihyvhgbcov2nmvbnveunoodokme5eb42uekrqowxdennt2qyeculm",
      "name": "A cool NFT", 
      "attributes": [
        {
          "trait_type": "Base", 
          "value": "Starfish"
        }, 
        {
          "trait_type": "Eyes", 
          "value": "Big"
        }, 
        {
          "trait_type": "Mouth", 
          "value": "Surprised"
        }, 
        {
          "trait_type": "Level", 
          "value": 5
        }, 
        {
          "trait_type": "Stamina", 
          "value": 1.4
        }, 
        {
          "trait_type": "Personality", 
          "value": "Sad"
        }, 
        {
          "display_type": "boost_number", 
          "trait_type": "Aqua Power", 
          "value": 40
        }, 
        {
          "display_type": "boost_percentage", 
          "trait_type": "Stamina Increase", 
          "value": 10
        }, 
        {
          "display_type": "number", 
          "trait_type": "Generation", 
          "value": 2
        }
      }
    

5.回到文件库，把`metadata.json`文件上传到我们上传的图像的同一个存储中。

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

6.最后，创建CID和它，在下一个它和NFT的复制中需要URI：

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

### step7 Mint Your Rinkeby NFT

1\. Remix 并在 Deploy & Run Transactions 中，进入“然后部署的合同”——点击菜单，我们立即返回部署**的**合同\*\*。\*\*

`ipfs://\<your\_metadata\_cid>`

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

如上图，您的交易将创建一个 Metamask 弹出窗口，提示 gas 费用。

点击“确认”并继续铸造你的第一个 NFT！

2.等待方法通过几个调用，以确保将你显示的地址复制并粘贴到 balanceOf 输入中，它有 1 个 NFT。

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

3.在tokenUri中插入“0”作为id参数，调用，它应该显示你的tokenURI。

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

### step8 在 OpenSea 上可视化您的 NFT

1\. 到[testnets.opensea.io](https://testnets.opensea.io/)并**使用您的 Metamask 登录**。然后点击您的个人资料，您会看到新创建的 NFT。

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

2.如果图像尚不明显，请点击它，然后点击“获取元数据”按钮。

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

3\. 有时 OpenSea 可以识别测试测试网元数据 - 可能需要 6 次才能看到它。[之后，您的 NFT 应该变成](https://testnets.opensea.io/assets/mumbai/0x5a411430964664412e69cff1134759f6bb57c5d7/1)：

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

恭喜，您已经成功修改、并部署了您的第一个智能合约创建！创建了您的第一个 NFT **，并在 IPFS 上发布了您的**

### step9 提交任务

点击[链接](https://alchemyapi.typeform.com/roadtoweekone?typeform-source=docs.alchemy.com)进入提交相关信息。

### step10 领取NFT

点击获取链接NFT。

---

*Originally published on [hulei419](https://paragraph.com/@hl419/102-5-45-alchemy-road-to-web3-nft)*
