# 估值102亿Alchemy 项目第一周NFT教程 **Published by:** [shawn93755](https://paragraph.com/@shawn93755/) **Published on:** 2022-08-20 **URL:** https://paragraph.com/@shawn93755/102-alchemy-nft ## Content 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://\ 如上图,单击交易将创建一个 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。 ## Publication Information - [shawn93755](https://paragraph.com/@shawn93755/): Publication homepage - [All Posts](https://paragraph.com/@shawn93755/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@shawn93755): Subscribe to updates