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

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数量极少,估计由于任务难度大,很多小伙伴直接放弃,这样的项目若是空投,绝对是大毛。

手把手第一周教程开始:如何使用 Alchemy 开发 NFT 智能合约(ERC721)

官方原版教程链接,其中有长达50分钟的视频教程还有大篇幅的文字教程。我按照我的做法给大家一个易于操作的图文教程。

step1 使用 OpenZeppelin 合约向导开发 ERC721 智能合约。

1.开发 ERC721 NFT 智能合约需要做的第一件事是 进入 Open Zeppelin 智能合约向导页面。

进入页面后,您将看到以下编辑器:

2.单击左上角的 ERC721 按钮,选择要使用的 ERC 标准类型,输入Name和Symbol:

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

勾选完毕后右侧代码如下:

// 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 IDE。

2.删除17行的onlyOwner,否则只允许智能合约的所有者(部署智能合约的钱包地址)铸造 NFT。

3.在第14行填入 uint256 MAX_SUPPLY = 100000;

4.在第19行添加 require(_tokenIdCounter.current() <= MAX_SUPPLY, "I'm sorry we reached the cap");

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

1.首先,到 alchemy.com 点击“登录”并创建一个新帐户:

2.进入Dashboard,点击create app。

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

4.创建完成后,回到仪表板,单击“VIEW KEY”按钮 ,然后复制 HTTPS URL:

step4 将 Alchemy Rinkeby 添加到 Metamask 钱包

1.点击添加网络。

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

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

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

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

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

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

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

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

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

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

2.导航到存储桶,单击 上传按钮 ,然后上传您要用于 NFT 的图像, 建议使用以下内容

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

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.回到 Filebase 并上传 metadata.json文件在我们上传图像的同一存储桶中。

6.最后,单击 CID 并复制它,在下一部分中需要它来构建 NFT 的令牌 URI:

step7 Mint Your Rinkeby NFT

1.返回 Remix 并在 Deploy & Run Transactions 菜单中,进入“已部署的合约” - 然后单击我们刚刚部署的合约。单击 safeMint 下拉框 并将您的地址以下字符串粘贴到 uri (cid处复制刚才的)字段中。

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

如上图,单击交易将创建一个 Metamask 弹出窗口,提示您支付 gas 费用。

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

2.等待几秒钟,为确保铸币成功通过,将您的地址复制并粘贴到 balanceOf 方法输入中点击call,它应该显示您有 1 个 NFT。

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

step8 在 OpenSea 上可视化您的 NFT

1.到 testnets.opensea.io 使用您的 Metamask 钱包登录 。 然后单击您的个人资料图片,您应该会在那里看到您新铸造的 NFT。

2.如果图像尚不可见,请单击它,然后单击“刷新元数据”按钮。

3.有时 OpenSea 很难识别测试网元数据 - 并且可能需要长达 6 小时才能看到它。 一段 时间后,您的 NFT 应该如下所示

恭喜,您已成功创建、修改和部署您的第一个智能合约。 铸造了你的第一个 NFT,并在 IPFS 上发布了你的图像! 🔥

step9 提交任务

点击链接进入提交相关信息即可。

step10 领取NFT

点击链接领取NFT。

Subscribe to Greta
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.