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每两分钟更新一次图片。

评论

所有评论

推荐阅读

  • Melius Research将英伟达目标价从420美元下调至315美元

    11月2日,Melius Research:将英伟达(NVDA.O)公司目标价从420美元下调至315美元。将迈威尔科技(MRVL.O)的目标价从445美元下调至300美元。

  • 香港交易所:延长衍生产品收市后交易时段

    11月2日,香港交易所将延长衍生产品收市后交易时段。由2027年3月起,香港交易所衍生产品收市后交易时段的收市时间由现时凌晨3时延长至凌晨4时15分;将根据收市后交易时段延长后的市场发展,考虑是否于2027年11月将收市时间再延至凌晨5时15分。新安排下,收市后交易时段的收市时间将由凌晨3时延长至凌晨4时15分,让市场参与者可在香港日间交易时段以外,因应外围市况灵活管理风险。

  • ETH突破2300美元

    行情显示,ETH突破2300美元,现报2300.05美元,24小时涨幅达到1.35%,行情波动较大,请做好风险控制。

  • 本周重要事件与数据预告:美国中期选举、非农、中国外储

    11月2日,本周重要事件与数据预告如下: 1. 周一:①数据:中国10月RatingDog制造业PMI;瑞士9月实际零售销售年率;法国、德国、欧元区、英国10月制造业PMI终值;美国10月标普全球制造业PMI终值;美国10月ISM制造业PMI;美国9月营建支出月率;②事件:今日有1万亿隔夜逆回购、560亿元7天期逆回购到期。③财报:苹果(AAPL.O)、Palantir(PLTR.N)等。 2. 周二:①数据:澳大利亚至11月3日澳洲联储利率决定;瑞士10月CPI月率;美国9月JOLTs职位空缺;美国9月工厂订单月率;②事件:澳洲联储公布利率决议和货币政策声明,主席布洛克召开货币政策新闻发布会;2027年FOMC票委、芝加哥联储主席古尔斯比发表讲话;欧洲央行管委拉德夫、穆兰、科赫尔、多伦茨等发表讲话;2026年美国中期选举;③假期:日本东京证券交易所因文化日休市一日;④财报:辉瑞(PFE.N)、AMD(AMD.O)、BioNTech SE(BNTX.O)等。 3. 周三:①数据:美国当周API原油库存;中国10月RatingDog服务业PMI;法国、德国、欧元区、英国10月服务业PMI终值;欧元区10月CPI初值;美国10月ADP就业人数;美国9月贸易帐;美国10月标普全球服务业PMI终值;美国10月ISM非制造业PMI;美国当周EIA原油库存、当周EIA俄克拉荷马州库欣原油库存、当周EIA战略石油储备库存;②事件:欧洲央行管委内格尔、首席经济学家连恩发表讲话;美国财政部发布季度再融资公告;第二十四届中国半导体封装测试技术与市场年会于11月4日-6日在南京丰大国际大酒店举行;③财报:高通(QCOM.O)、Arm(ARM.O)、Uber(UBER.N)、麦当劳(MCD.N)等。 4. 周四:①数据:法国9月工业产出月率;瑞士10月季调后失业率;欧元区9月PPI月率;美国10月挑战者企业裁员人数;英国至11月5日央行利率决定;美国至10月31日当周初请失业金人数;美国10月全球供应链压力指数;美国当周EIA天然气库存;②事件:日本央行公布9月货币政策会议纪要;欧洲央行管委穆兰、执委施纳贝尔等发表讲话; 英国央行公布利率决议、会议纪要及货币政策报告,行长贝利召开货币政策新闻发布会;瑞士央行行长施莱格尔发表讲话;2026年FOMC票委、克利夫兰联储主席哈玛克就稳定币和避险货币汇率问题发表讲话;2027年FO

  • 伊朗外长披露“两天计划” 美方履约方能重启伊美谈判

    当地时间11月1日,伊朗外长阿拉格齐在接受媒体采访时表示,伊朗代表团访问卡塔尔是伊朗与卡塔尔、巴基斯坦等调解方持续沟通的延续。目前,摆在桌面的方案与伊朗此前提出的“七日计划”基本相同。卡塔尔和巴基斯坦等调解方也就此进行了多次磋商和讨论,并提出了比伊朗“七日计划”更具可行性和可操作性的建议。 阿拉格齐表示,卡塔尔提出的建议之一是“将七天期限缩短至五天甚至更短”。目前,伊朗同意一项“两天计划”,即:第一天,美国将采取一系列(履约)措施。第二天,霍尔木兹海峡将开放,海峡交通将恢复到之前的状态。 阿拉格齐指出,现在所有这些问题都摆在了桌面上,只要(美国)遵守伊朗这个为期两天的计划,就能为和平铺平道路,使霍尔木兹海峡恢复正常。在美国履行相关承诺、霍尔木兹海峡开放后,伊朗与美国恢复谈判的道路才会打开。据了解,伊朗提出的美国必须履约的条件包括:确定霍尔木兹海峡通航新航线、解冻伊朗资金、结束包括黎巴嫩在内的地区战争、解除海上封锁、伊朗出口石油豁免权、解除在《伊斯兰堡谅解备忘录》后美国实施的新制裁等。(央视)

  • 以媒:以色列已准备好与美国联手打击伊朗,但具体目标尚不明确

    11月2日,据《耶路撒冷邮报》报道,如果特朗普要求以色列国防军(IDF)在11月3日美国中期选举后参与美军空军对伊朗的军事行动,以军已做好打击准备,但目前局势仍笼罩在诸多不确定性之中。特朗普此前曾在今年8月、10月初及其他多个时点撤回对伊朗发动袭击的威胁,而如今袭击可能性再次上升,部分原因在于各方已尝试通过其他途径争取伊朗让步,特朗普团队中的部分成员也正重新转向支持军事打击。过去一周,超过10架美国军用运输机抵达以色列南部的内瓦提姆空军基地和乌夫达空军基地,似乎是在为一场重大军事行动做准备。另有报道称,美国正向以色列及其他阿拉伯盟友调运防空系统和拦截弹。不过,目前美国在该地区的兵力仍少于此前一些时期的部署规模。但这可能只是部署的开始。美国与以色列对于此类军事行动的具体目标仍存在分歧。(金十)

  • 币安:目前提现量已逐步趋于稳定,提款规模占资产管理规模的比例非常小

    11月2日,据官方消息,币安已于2026年11月1日14:00(东八区时间)起分阶段恢复提现服务。截至20:36(东八区时间),首批涵盖的全部15个网络与资产均已恢复提现。提现量在最初短暂激增后已回落,并如预期逐步趋于稳定,充值量则持续保持较高水平。 11月1日14:00至23:30(东八区时间)期间,我们共处理了46.49亿美元的提现及10.1亿美元的充值,净流出约36.4亿美元。根据截至2026年10月28日最新的储备证明数据,这相当于平台1,710亿美元资产管理总额(AUM)的2.1%。我们已于10月31日08:00(东八区时间)完成新一轮储备证明快照,并启动零知识证明(ZKP)计算。更新后的报告预计将于明日在储备金证明网页站公布。 我们的团队正继续对其余网络与资产进行严格测试。我们深知,安全、可靠地提取资金对您至关重要,并将尽快公布下一阶段的具体安排。请放心,目前市场状况稳定。

  • 币安:目前提现量已逐步趋于稳定,提款规模占资产管理规模的比例非常小

    11月2日,据官方消息,币安已于2026年11月1日14:00(东八区时间)起分阶段恢复提现服务。截至20:36(东八区时间),首批涵盖的全部15个网络与资产均已恢复提现。提现量在最初短暂激增后已回落,并如预期逐步趋于稳定,充值量则持续保持较高水平。 11月1日14:00至23:30(东八区时间)期间,我们共处理了46.49亿美元的提现及10.1亿美元的充值,净流出约36.4亿美元。根据截至2026年10月28日最新的储备证明数据,这相当于平台1,710亿美元资产管理总额(AUM)的2.1%。我们已于10月31日08:00(东八区时间)完成新一轮储备证明快照,并启动零知识证明(ZKP)计算。更新后的报告预计将于明日在储备金证明网页站公布。 我们的团队正继续对其余网络与资产进行严格测试。我们深知,安全、可靠地提取资金对您至关重要,并将尽快公布下一阶段的具体安排。请放心,目前市场状况稳定。

  • 币安:目前提现量已逐步趋于稳定,提款规模占资产管理规模的比例非常小

    11月2日,据官方消息,币安已于 2026 年 11 月 1 日 14:00(东八区时间)起分阶段恢复提现服务。截至 20:36(东八区时间),首批涵盖的全部 15 个网络与资产均已恢复提现。提现量在最初短暂激增后已回落,并如预期逐步趋于稳定,充值量则持续保持较高水平。 11 月 1 日 14:00 至 23:30(东八区时间)期间,我们共处理了 46.49 亿美元的提现及 10.1 亿美元的充值,净流出约 36.4 亿美元。根据截至 2026 年 10 月 28 日最新的储备证明数据,这相当于平台 1,710 亿美元资产管理总额(AUM)的 2.1%。我们已于 10 月 31 日 08:00(东八区时间)完成新一轮储备证明快照,并启动零知识证明(ZKP)计算。更新后的报告预计将于明日在储备金证明网页站公布。 我们的团队正继续对其余网络与资产进行严格测试。我们深知,安全、可靠地提取资金对您至关重要,并将尽快公布下一阶段的具体安排。请放心,目前市场状况稳定。

  • 币安恢复ETH、USDT、USDC、BNB 提现,后续资产逐步开放

    11月1日,币安在 X 平台发布提现更新公告,已恢复部分资产与网络的提现服务: - 以太坊网络:USDC、USDT、ETH - BNB 智能链(BSC):USDC、USDT、BNB 币安表示,完成安全检查之后,会分阶段继续开放更多资产与网络的提现,后续进展将通过币安官方渠道对外发布。