# 跟着Alchemy边学边获取NFT **Published by:** [Robby](https://paragraph.com/@sheepswap/) **Published on:** 2022-09-14 **URL:** https://paragraph.com/@sheepswap/alchemy-nft ## Content 1.编写合约 首先我们来到合约编写页面 https://docs.openzeppelin.com/contracts/4.x/wizard2.将合约使用Remix修改和部署 导入Remix后合约的结构如下:我们需要修改如下几点,你们也可以直接将帝哥的代码覆盖你的函数即可: 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注册一个账号 rinkebyfaucet.com 4.创建一个Alchemy的app 1.首先我们去到Alchemy注册一个账户,同时新建一个app(需要选择以太坊生态和Rikney) www.alchemy.com 查看我们的Key5.将 Alchemy Rinkeby 添加到 Metamask 钱包,信息如下Network name: Alchemy RinkebyNew RPC URL: 你申请的app的地址,去上面的viewkey获取即可Chain ID: 4Currency Symbol: ETHBlock Explorer: https://rinkeby.etherscan.io/6.部署发布我们的合约 部署合约 将出现一个 Metamask 弹出窗口,点击“签名”,然后继续支付 gas 费用。如果一切都按预期工作,10 秒后,应该会在 Deployed Contracts 下看到该合约: 0x027122fF7F9b1833914F513f07d2A3FB31D20eFD 已经部署完成合约 7.上传我们的NFT元数据 Pinata网站管理我们的元数据,我们只需要申请一个账号,会免费给我1g的存储空间。 app.pinata.cloud mint我们的NFT,在safeMint输入我们的钱包地址和刚才编写的uri(ipfs://\)使用json的。 8.查看我们的NFT 我们去到OpenSea测试网站查看我们做的NFT testnets.opensea.io 我们找到对应合约的NFT,现在我们看到的合约地址和我们刚才部署的合约地址是否对应上,现在还是盲盒,需要我们自己去操作下 9.开盲盒 在tokenUri 插入“0”作为 id 参数,点击call,它应该显示你的 tokenURI。 ## Publication Information - [Robby](https://paragraph.com/@sheepswap/): Publication homepage - [All Posts](https://paragraph.com/@sheepswap/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@sheepswap): Subscribe to updates