Cointime

扫码下载App
iOS & Android

如何在 Polygon Mumbai 测试网上部署一个动态 NFT ?

项目方

作者:Chainlink. 编译:Cointime.com QDD

概况

难度级别:初级/中级

预计完成时间:60分钟

在本教程中,你将学习如何使用Remix在Polygon Mumbai测试网上部署智能合约。该智能合约创建了一个NFT,根据以美元计价的ETH价格动态更新。

下面,你将看到如何逐步进行的说明:

1. 创建一个MetaMask钱包

2. 在Polygon Mumbai测试网上获取资金

3. 创建Chainlink VRF订阅

4. 使用Remix部署动态NFT(dNFT)智能合约

5. 将dNFT智能合约添加为VRF消费者

6. 使用Chainlink Automation自动化NFT

7. 在OpenSea上查看NFT并与之交互

第一步:创建一个MetaMask钱包

注:如果你已经有一个MetaMask钱包(或任何其他钱包),请跳过这一步。

要创建MetaMask钱包,请访问https://metamask.io/,并按照说明创建你的钱包。

第二步:获取Polygon Mumbai Testnet资金

A) 进入 https://faucets.chain.link/mumbai

B) 点击右上角的 "连接钱包"。

C) 如果这是你第一次与Polygon Mumbai互动,请在MetaMask提示 "允许本网站添加网络?"时点击 "批准"。

D) 点击 "切换网络"。

E) 勾选 "我是人类 "复选框并完成验证码。

F) 点击 "发送请求"。

G) 等待交易完成。

恭喜你!你已成功申请并收到testnet Polygon Mumbai MATIC和testnet LINK。

注意:如果Chainlink水龙头的testnet MATIC已经用完,请使用Polygon Mumbai水龙头接收testnet MATIC。你仍需使用Chainlink水龙头接收测试网LINK。

步骤 3:创建 VRF 订阅

在部署dNFT智能合约之前,我们将首先创建一个VRF订阅。将其视为合约生成随机数时使用的资金桶。我们需要订阅ID来部署智能合约。

A) 转到 https://vrf.chain.link/mumbai

B) 点击右上角的 "连接钱包"。

C) 点击 "创建订阅"。

D) 再次点击 "创建订阅"。

E) 出现MetaMask提示。点击 "签署"。

F) 在MetaMask中点击 "确认",等待交易确认。

G) 一旦交易被确认,订阅被创建,点击 "添加资金"。

H) 在 "添加资金(LINK)"输入框中,添加2个LINK,然后点击 "添加资金"。

I) 在MetaMask中确认交易。

恭喜你!你已经成功创建了你的VRF订阅,并通过一些testnet LINK进行了注资。我们将在下一步讨论VRF订阅。

步骤4:在Remix上部署动态NFT智能合约

Remix是一个在线集成开发环境(IDE),专门用于开发和测试以太坊区块链上的智能合约。它为以太坊智能合约的编写、编译、部署和调试提供了友好的用户界面和一套强大的工具。

在本步骤中,你将学习如何创建一个新的Remix工作区并部署一个智能合约。别担心:智能合约已经编写完成,你只需复制粘贴即可。

A) 转到 https://remix.ethereum.org/

B) 点击屏幕左上角的 "+"图标,创建一个新的工作区。

C) 输入新工作区的名称,然后点击 "确定"。

D) 右键单击左侧边栏中的 "合同",然后单击 "新建文件"。

E) 将文件命名为 "demo.sol "或任何其他你喜欢的名称,然后点击回车。

F) 复制此代码。

// SPDX-License-Identifier: MIT

// This is for DEMO purposes only and should not be used in production!

pragma solidity ^0.8.10;

// Importing other contracts

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";

import "@openzeppelin/contracts/utils/Strings.sol";

import "@openzeppelin/contracts/utils/Base64.sol";

import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";

import "@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol";

import "@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol";

// Define SuperDynamicNFT contract which inherits from ERC721, ERC721URIStorage and VRFConsumerBaseV2

contract SuperDynamicNFT is ERC721, ERC721URIStorage, VRFConsumerBaseV2 {

// State variables for tracking ETH price and the corresponding emoji

int256 previousEthPrice = 0;

string ethIndicatorUp = unicode"

G) 返回Remix,将代码粘贴到新创建的demo.sol文件中。

注意:你可能会收到弹出警告,提示你正在粘贴大量代码,点击 "确定"。

H) 点击左侧边栏的 "Solidity Compiler "图标。

I) 点击 "Compile demo.sol"。

J) 点击左侧边栏的 "Deploy & run transactions "图标。

K) 点击 "Environment "下拉菜单,将其从 "Remix VM (Shanghai) "更改为 "Injected Provider - MetaMask",并按照MetaMask的提示连接你的钱包。

L) 在将智能合约部署到Polygon Mumbai区块链之前,我们需要上一步中创建的VRF订阅的订阅ID。回到https://vrf.chain.link/mumbai,记下我们刚刚创建的VRF订阅的ID。你的ID将不同于示例中的ID。首先,你必须让合同知道该订阅。在以后的步骤中,你将让订阅了解合同。

M) 在Remix中,在橙色 "Deploy(部署)"按钮旁边的输入框中输入订阅ID。

N) 单击 "部署",然后在MetaMask中确认交易。

O) 如果你在屏幕下方的控制台中看到一个绿色复选标记,恭喜你!你已成功将合约部署到Polygon Mumbai区块链上!

5步:向你的VRF订阅添加消费者

恭喜!你已成功将智能合约部署到Polygon Mumbai区块链上!你已经成功部署了智能合约。现在,是时候将智能合约作为消费者添加到你在步骤3中创建的VRF订阅中了。

A) 在Remix中,复制你的合约地址。

B) 转到 https://vrf.chain.link/mumbai,点击右上角的 "连接钱包 "连接你的钱包。如果你的钱包已经连接,你可以跳过这一步。

C) 点击你在步骤3中创建的订阅ID。你可以在 "我的订阅 "中找到你的订阅。

D) 点击 "添加消费者"。

E) 在 "消费者地址 "输入框中粘贴合同地址。这将让订阅知道你部署的合同。

F)点击 "添加消费者",并按照MetaMask的提示操作。

G) 交易确认后点击 "关闭 "并刷新页面。如果你看到如下图所示的消费者被添加到你的订阅中,你就成功完成了这一步。

第六步:使用Chainlink Automation自动化你的NFT

在这一步中,你将使用Chainlink Automation创建一个基于时间的维护,动态更新你的NFT的背景颜色和表情。

A) 进入https://automation.chain.link/mumbai,点击右上角的 "连接钱包 "连接你的钱包。如果你的钱包已经连接,你可以跳过这一步。

B) 点击 "注册新的维护"。

C) 选择 "基于时间"。

D) 粘贴你的合约地址并点击 "下一步"(如果你需要帮助找到你的合约地址,请参考步骤5A)。

E) 你将收到一个提示,内容如下: "无法获取ABI。在一个单独的标签页中,返回Remix并选择左侧边栏中的 "Solidity compiler "标签页。

F) 在 "Contract "下拉菜单中选择你的合同,点击 "Copy ABI "按钮。

G)回到你的维护注册,在输入框中粘贴ABI,点击 "下一步"。

H) 在 "目标函数 "下选择 "requestRandomWords",点击 "下一步"。

I) 在 "指定时间计划 "下,输入以下CRON表达式,以便每2分钟为你的NFT生成新的背景颜色:*/2 * * * * 。

J) 单击 "Next"(下一步)。

K) 给你的维护命名(例如:动态NFT演示),并输入2 LINK的起始余额。

L) 点击 "Register Upkeep "并批准交易,在MetaMask中部署CRON作业合同。

M) 一旦交易被批准,MetaMask将提示你确认第二个交易 "请求基于时间的维护注册"。

N) 等待交易确认并点击 "查看维护"。

O) 如果你在新创建的维护状态下看到 "激活",你就成功完成了这一步。恭喜你!

7步:在OpenSea上查看你的NFT

A) 进入https://testnets.opensea.io/,从右上角的下拉菜单中选择 "Profile"。

B) 如下图所示连接你的钱包。你可能需要在OpenSea上签署一笔交易。

C) 在你的个人资料中,点击标有 "ETH Watching SVG "的NFT。

D) 点击右上角的三个点,选择 "刷新元数据"。

E) 等待30秒,然后刷新页面,你将看到新创建的dNFT!

恭喜你!你已完成教程。每两分钟,直到你的订阅资金用完,你的NFT将检查ETH的价格,并请求一个新的背景颜色。下次刷新元数据时,你应该会看到一些不同的东西。

结论

如果你已经走到这一步,恭喜你!你成功地在Polygon Mumbai Testnet上部署了一个动态更新的NFT,它使用Chainlink Price Feeds来跟踪以太坊的价格,Chainlink VRF来选择随机的背景颜色,Chainlink Automation每两分钟更新一次图片。

评论

所有评论

推荐阅读

  • 5月14日晚间要闻速递

    1. BTC突破62000美元,24小时跌幅缩窄至1.22%

  • RWA平台Re完成700万美元新一轮融资,Electric Capital领投

    代币化再保险 RWA 平台 Re 完成 700 万美元新一轮融资,Electric Capital 领投,据悉该项目曾在 2022 年底完成 1400 万美元种子轮融资,Re 的目标是到今年年底支持 2 亿美元的保费。

  • 硅谷AI和ML开发研究实验室ChainML筹集620万美元种子轮融资

    总部位于硅谷的AI和ML开发和研究实验室ChainML最近推出了其代理基础层Theoriq,获得了620万美元的种子扩展融资。这轮融资由Hack VC领投,Foresight Ventures、Inception Capital、HTX Ventures、Figment Capital、Hypersphere Ventures和Alumni Ventures参与,以股权和代币认股权的形式进行。公司计划利用这些资金扩大其开发工作。ChainML由首席执行官Ron Bodkin领导,正在开发一种名为Theoriq的AI平台,该平台基于社会进化原则,并采用区块链实施,为不断改进、社区治理的AI系统奠定基础。

  • 北京丰台警方破获一起虚拟货币传销案

    北京丰台警方近日破获一起虚拟货币组织、领导传销犯罪案件,在这起案件中,公安部门经过调查,报案人自己就是嫌疑人。闲赋在家的谢某希望通过投资赚钱,一直寻找来钱快的“机遇”。通过朋友介绍,她加入了一个名叫“华某会”的组织,通过购买虚拟币进行投资。前期小额投资获利后,她投入了家中积蓄的200万元,但未能收到返款。被套牢后,谢某开始按传销组织要求“拉人头”,逐级提成、动态分红,使其成为该传销组织在北京的骨干分子,发展下线9级,涉及300余人。随着投资平台崩盘,谢某面对下线投资人追债,选择报警。

  • Zeta Markets完成500万美元战略融资,Electric Capital领投

    据 The Block 报道,Solana 生态 DEX 项目 Zeta Markets 完成 500 万美元战略融资,由 Electric Capital 领投,Digital Asset Capital Management (DACM)、Selini Capital 和 Airtree Ventures 参投。天使投资人包括 Solana 的 Anatoly Yakovenko、Helius 的 Mert Mumtaz、Tensor 的 Richard Wu、Pyth 的 Genia Mikhalchenko。

  • Tornado Cash 开发者 Alexey Pertsev 被判处 64 个月监禁

    荷兰法官在斯海尔托亨博斯法院裁定,Tornado Cash 开发商 Alexey Pertsev 犯有洗钱罪。法庭判处Pertsev 64 个月监禁。 2022 年 8 月,Tornado Cash 被美国政府列入黑名单后,该开发商首次在荷兰被判入狱。当时,美国财政部声称 Tornado Cash 是朝鲜黑客组织 Lazarus 的关键工具。 Lazarus 集团与 Axie Infinity 旗下 Ronin Network 遭受的价值6.25 亿美元的黑客攻击以及其他重大加密货币盗窃案有关。

  • 荷兰法院裁定Tornado Cash创始人Alexey Pertsev洗钱罪名成立

    由三名法官组成的荷兰法庭判定Tornado Cash开发者Alexey Pertsev犯有在加密货币混合平台上清洗12亿美元非法资产的罪行,预计合议庭也将在周二对居住在荷兰的31岁俄罗斯人Alexey Pertsev进行宣判,Pertsev的律师将有14天的时间对法官的判决提出上诉。专家表示,这一判决将重塑去中心化金融领域的隐私保护进程,对为用户提供金融隐私保护工具的开源软件的开发产生 "寒蝉效应"。

  • Equalizer黑客已盗取2353枚EQUAL、2500枚spLP等代币

    Fantom 生态 DEX Equalizer 今日遭到黑客攻击,到目前为止,黑客已盗取用户大约 2353 枚 EQUAL 和其他代币。该黑客的钱包地址是 222 天前建立的,并一直在接收被盗用户的资金。 攻击开始于 5 月 14 日 12 点 10 分左右,2500 个 SpookySwap 流动性代币(spLP)被耗尽,导致许多其他代币从用户那里被盗。到目前为止,被盗代币包括: 2353 枚 EQUAL; 510,579 枚 FantomStarter(FS); 2500 枚 spLP; 600 万枚 AnyInu(AI); 985,565 枚 ChillPill(CHILL); 5 万枚 WigoSwap(WIGO: 25 枚 multiDEUS(DEUS)。

  • 跨境洗黑钱集团清洗8800万港元8人被捕

    香港警方商业罪案调查科于2023年11月锁定一个跨境洗黑钱集团,调查发现集团于2023年9月至2024年3月期间,招揽内地人到香港开设傀儡银行户口,透过不同类型骗案,如电话骗案、裸聊骗案、投资骗案、求职骗案等去诈骗受害人。受害人根据骗徒指示,将骗款存入犯罪集团控制的傀儡户口,之后集团会从傀儡户口以现金方式提取骗款,并到加密货币场外交易所(OTC)购买加密货币,同时又会在海外加密货币平台上以虚假身份开设户口,并存入由骗款所购买的加密货币,再转移至多个加密货币钱包,以清洗犯罪得益。 警方又指集团利用72个本地开立的银行傀儡户口,清洗超过8800万港元犯罪得益,其中670万港元是与48宗骗案有关。至昨日,警方于全港拘捕7男1女,年龄介乎26至51岁,涉嫌串谋洗黑钱,他们分别报称救生员、摄影师、电话程式员、销售员及无业,其中6人为骨干成员,2人为傀儡户口持有人。

  • 纽约Sharp Alpha Advisors筹集2500万美元早期软件公司基金

    纽约市的风险投资公司Sharp Alpha Advisors已经为其第二个基金筹集了2500万美元,该基金的主要投资领域是体育、游戏和娱乐行业的早期软件公司。该基金计划在15家初创公司中每家投资100万至200万美元,投资对象包括面向体育博彩、幻想体育、流媒体平台和视频游戏的技术公司。该基金最近投资了总部位于伦敦的技术初创公司C15 Studio,该公司运营和分发F1和One Championship的流媒体频道。Sharp Alpha基金会创始人Danzig声称,该基金会的投资者包括一家大型美国金融公司、美国职业体育俱乐部的所有者、家族办公室、基金和与体育、游戏和娱乐产业相关的上市公司。然而,Danzig拒绝透露任何具体的个人或公司名称。该基金是Fund I的后续基金,Fund I在2021年筹集了1000万美元,主要来自高净值人士和家族办公室。Sharp Alpha在第一期基金中进行了20项投资,平均交易规模约为25万美元。