如何使用 Infura、Truffle 和 MetaMask 在 Aurora 上创建 NFT

csdnsqst0035 csdnsqst0035 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

 

 

Aurora 是来自第一层区块链 NEAR 的 EVM 兼容网络,它允许您利用现有的以太坊 dapp 开发工具套件(如 Solidity、Truffle 和 Infura)来创建 NFT 和其他智能合约。

这种工作流程有很多好处,因为 NEAR 是一个碳中和的区块链,具有快速的最终确认(2-3 秒),并且有了 Aurora 之后,开发人员可以享受它的所有好处,而无需学习新的编程语言和工具。

在本教程中,您将学习如何:

  • 使用 Infura 在 NEAR 的 EVM 兼容解决方案 Aurora 上创建 NFT

  • 使用 Rainbow 桥接资产从以太坊转移到 Aurora

  • 比较 Aurora 和以太坊上铸造 NFT 的 gas 成本

Aurora 开发入门

在 Infura 注册一个帐户。单击 CREATE NEW KEY 创建新密钥,并获取您的 Aurora 测试网 RPC 端点。查看文档以获取有关创建新密钥的更多详细信息。

 

配置和设置

查看 Github 上的参考应用,使用 git clone来拉取项目。

打开终端并执行以下命令:

git clone git@github.com:anataliocs/aurora-example.git

然后将项目导入到您的 IDE 中。

设置您的 ENV 文件

安装 dotenv npm 包,以便能够使用.env 文件

yarn add dotenv

在您的项目根目录下用以下命令创建一个   .env 文件:

touch .env

设置您的 .env文件:

MNEMONIC=

WEB3_INFURA_API_KEY=

查看文档,了解更多关于获取 Aurora 测试网密钥的内容。打开一个终端,编译您的 Truffle 中的合约:

  • InfuraAuroraTestNft.sol

  • Migrations.sol

编译合约

现在,让我们使用 Truffle 来编译您的智能合约,以确认一切设置都是正确的。

truffle compile

这个命令会在你的build/contracts文件夹中生成 JSON 格式的文件。

将您的合约部署到 Aurora 测试网上

您需要一个带有 Aurora 测试网 ETH 的钱包才能部署到 Aurora 测试网。如果您还没有钱包,请查看这篇文章以了解如何使用 Metamask 进行设置。

💰 获取测试网 Aurora ETH

首先,您的 Aurora 钱包中需要一些测试 ETH。

导航至:Aurora 水龙头获取一些 Aurora ETH

使用我们的水龙头获取 Aurora ETH

Aurora

 

为您的钱包注资:

  • 选择测试网

  • 连接您的钱包

  • 请求测试网 ETH

ℹ️ 或者,您也可以使用彩虹桥从以太坊测试网络(例如 Goerli)桥接测试 ETH,我们将在本文后面讨论。

将您的智能合约部署到 Aurora

现在我们可以使用 Truffle 将我们的 solidity 合约部署到 Aurora 测试网络!如果您是 Truffle 的新手,请查看此 Truffle 入门指南。

在终端中执行以下命令:truffle migrate --network aurora下面是一个部署信息的例子:

 

然后我们可以在 Aurora Testnet Explorer 上查看已部署的合约。

Aurora 上部署的合约是一种以太坊账户。

Aurora 上的智能合约

与其他 EVM 兼容网络一样,Aurora 上的智能合约具有以下特征:

  • 根据网络存储量收取费用

  • 无法主动发起交易(但这可能会在未来的 EIP 中改变)

  • 外部帐户(钱包)可以触发执行您的智能合约的可用函数

  • 合约不像钱包那样拥有私钥

您可以在此处查看已部署合约的示例:

https://testnet.aurorascan.dev/address/0xB752f3637d7E42b158dd1463f672c82B05ADa366

 

Aurora 测试网合约创建交易

当您运行truffle migrate命令时,这将创建一个交易,您的合约账户将被创建。

我们还可以在这里查看创建此合约的交易:https://testnet.aurorascan.dev/tx/0xb142fe0f2d1ad0b4bc563daf82c37825f05e9b1ee8a26af86184394f77a54e30

Aurora 合约创建交易细节

  • 状态:成功区块:112517167

  • 交易费用:0.00018552233 ETH

  • 已使用的gas:2,650,319 (26.5%)

  • gas价格:0.00000000007 ETH(0.07 Gwei)

 

交易成本是使用的 gas 数量 * gas 价格

2,650,319 * 0.00000000007 ETH = 0.00018552233 ETH

正如我们所看到的,Aurora 上的交易非常划算,而且通常比以太坊 L1 主网便宜。交易最终确认的速度非常快,您可以通过“块确认”发生的速度以及“状态”从Pending到 Success的转换速度看出来。

在下一节中,我们需要获取已部署的合约地址并将其添加到我们的 .env 文件中,以便随时使用。

在 Aurora 测试网上铸造一个 NFT

我们将通过使用 web3.js 库和一个自定义的 javascript 脚本调用我们部署的智能合约,在 Aurora 上铸造一个 NFT。

铸造 NFT

要在 Aurora 测试网上铸造NFT,我们需要做以下工作:

更新配置

  • 运行  mintAuroraNft.js 脚本来调用已部署的合约

  • 等待交易确认

  • 验证我们的钱包是否收到了NFT

更新 .env 文件

我们需要从上一步中获取已部署的合约地址,并将其添加到我们的配置中,以便我们的脚本知道已部署的合约在 Aurora 测试网上的位置,以便我们能够调用它。

在您的 .env文件中添加以下字段:

  • 上文中已部署的合约的哈希地址

  • 钱包助记词,来自您专门用于开发的 Metamask 钱包

⚠️ 注意:不要使用包含有价值的主网资产的钱包进行开发!

DEPLOYED_AURORA_CONTRACT=

MNEMONIC=

铸造脚本如何工作

在您的 IDE 中打开 mintAuroraNft.js 这个文件。

在 scripts/mintAuroraNft.js 的第3行,我们可以看到部署的合约地址和钱包都是.env文件中获取的。

在 scripts/mintAuroraNft.js 的第10行,我们可以看到合约被初始化为一个 web3.eth.Contract对象。

在 scripts/mintAuroraNft.js 的第19行,我们调用了合约对象的 mint()方法,该方法返回一个 promise,即返回触发 mint 操作的 Aurora 交易。

运行铸造脚本

现在我们对该脚本的工作原理有了一些了解,让我们执行该脚本并铸造一个新的 NFT。truffle exec scripts/mintAuroraNft.js --network aurora

该脚本将按以下步骤执行您的交易:

  • 使用.env文件中的 MNEMONIC 指定的钱包来发起交易

  • 调用部署合约的铸造操作来铸造一个新的InfuraAuroraNFT

  • 将铸造的 NFT 发送到 .env文件中 WALLET_ADDRESS字段所配置的钱包

您将在控制台看到以下输出:

 

查看铸造操作交易的结果

现在我们来看看 AuroraScan 上的交易:

https://testnet.aurorascan.dev/tx/0x977851d897e29ac1fce9c41e7d9d4f3d3093ae7ce78a33dc4c30bef9a795d592

 

 

使用公式 使用的 gas 数量 * gas 价格

93,679 * 0.00000000007 ETH = 0.00000655753 ETH

在 Aurora 上铸造交易在规模上极具成本效益。

您的结果在主网上可能会有所不同,但 Aurora 将比以太坊 L1 主网上便宜得多,基本上所有可比较的操作都允许您的 dapp 以具有成本效益的方式扩展,同时保持在去中心化、碳中性区块链上运行的好处。

使用 Aurora Rainbow 桥

ETH <> NEAR Rainbow 桥允许用户将某些 ERC-20 代币等资产从以太坊无缝迁移到 NEAR。该

桥促进了以太坊、NEAR 和 Aurora 之间资产的迁移!

关于将资产从以太坊迁移到 NEAR 的细节:

  • 一旦在 NEAR 上,交易将在 1~2 秒内确认由于桥梁需要在以太坊上进行交易,你将不得不以 ETH 支付gas费用

  • 将资产从以太坊发送到 NEAR 需要大约 6 分钟(20个区块)

  • 迁移一个普通的 ERC-20 平均成本约为 10 美元(根据撰写本文时的gas成本计算)

  • 需要注意的是,将资产从 NEAR 迁移回以太坊,在gas费用和时间方面的成本更高

连接到 Rainbow 桥

您可以在这里找到测试网 Rainbow 桥。

您将需要一个 Ethereum 钱包和一个 NEAR 钱包来从 Ethereum 迁移到 NEAR。 

然而,您可以只使用 Metamask 来从以太坊桥接到 Aurora!由于 Aurora 与 EVM 兼容,您可以在 Metamask 上使用 Aurora,就像你使用 Ethereum 或它的 L2 网络一样。

将资产从以太坊迁移到 Aurora

  • 选择 Ethereum 作为 "转出 "链

  • 选择 Aurora 作为 "转入 "链然后

  • 点击 "连接 "按钮,连接到 Metamask

  • 目前您只能通过桥转移 ETH、FAU 和 USDC

 

我们将在下一步介绍转移过程,将一些 ETH 从以太坊的 Goerli 测试网转移到 Aurora。

在以太坊测试网铸造一个 NFT

我们还将把 InfuraAuroraTestNft 智能合约部署到以太坊 Goerli 测试网。由于 Aurora 与 EVM 兼容,我们可以在这两个网络上部署相同的合约!

部署合约首先,我们将智能合约部署到 Goerli 测试网上。

执行以下命令:truffle migrate --network goerli

记住要从部署信息中获取contract address合约地址。

 

然后我们可以在Goerli Etherscan上查看部署的合约。我们可以在这里查看创建该合约的

Goerli 测试网交易: 

https://goerli.etherscan.io/tx/0xc8c2eee511b342ce5e66c8fa17e976bac205ec21d5d0689624423899e5e11a73

Goerli 交易详情

  • 状态:成功

  • 区块:8300896

  • 交易费用:0.011030038082734622 Ether

  • 使用的 gas:2,650,319 (80%)

  • gas 价格:0.000000004161777538 Ether(4.161777538Gwei)

 

交易的成本是  使用的 gas 数量 * gas 价格

2,650,319 * 0.000000004161777538 ETH = 0.011030038082734622 Ether ETH

我们可以看到,在 Ethereum Goerli 上的交易比在 Aurora 上的交易要贵一些。虽然使用的 gas 相同,但 gas 价格明显较高(Aurora 为 0.07 Gwei,Goerli 为 4.161777538 Gwei),导致交易费用较高。

在这个例子中,Aurora 的 gas 价格是 Goerli gas 价格的 1.6%。你在主网上的体验可能会有所不同,但一般来说,Aurora 会比 Ethereum L1 主网上的价格便宜很多。

在下一节中,我们需要获取部署的合约地址,并将其添加到我们的 .env文件中。

更新.e

在 .env 文件中添加以下字段:

  • 部署到 Goerli 测试网的 InfuraAuroraTestNft 合约的合约地址

DEPLOYED_GOERLI_CONTRACT=

在 Goerli 上铸造 NFT执行下面的脚本,在 Goerli 上铸造一个 NFT。这个脚本会和我们在 Aurora 上铸造的脚本一样工作。

truffle exec scripts/mintGoerliNft.js --network goerli

从 Goerli 到 Aurora 测试网的资产桥接

现在让我们尝试使用测试网 Rainbow 桥将一些 Goerli ETH 桥接到 Aurora。

  • 导航到:https://testnet.rainbowbridge.app/transfer

  • 连接 Metamask 钱包在 "转出 "栏中选择以太坊

  • 在 "转入 "栏中选择 Aurora

  • 点击 "开始新的转移"

  • 选择ETH

  • 输入要转账的金额

  • 点击 "继续"

  • 然后在下一个屏幕上点击 "确认转账"

就这样, 您已经成功地将 ETH 从 Goerli桥接到 Aurora。Aurora 提供了与以太坊和 NEAR 生态系统的深度互操作性,因此您可以利用您现有的 Solidity 和 Truffle 开发工具套件以及 NEAR 生态系统中的原生以太坊资产!

Rainbow 桥交易

现在让我们来看看实际的桥接交易:

https://goerli.etherscan.io/tx/0x16fb3c642d136560746ef6a6f00bdfdffb3ea5a6d35885f3b084b089ef964147

我们可以看到,1个 ETH 从我们的地址转移到了 Rainbow 桥智能合约 0x84a82bb39c83989d5dc07e1310281923d2544dc2。

请查看这篇文章,了解更多关于 Rainbow 桥内部工作的细节。

 

结论

您现在应该能够探索 NEAR 和以太坊生态系统之间的深度互操作性。

💡 我们在这次开发者之旅中学到了很多东西:

由于 Aurora 与 EVM 相兼容,您可以将用 Solidity 编写的相同智能合约部署到 Aurora 和以太坊

您可以将以太坊原生资产桥接至 Aurora 或 NEAR,反之亦然

您可以使用现有的以太坊开发工具(例如 Infura 和 Truffle)将智能合约部署到以太坊和 Aurora 区块链

📚 进一步阅读

想了解更多关于 Aurora 的信息?

请查看以下资源。

  • Infura 文档:https://docs.infura.io/infura/networks/aurora

  • Aurora 文档:https://doc.aurora.dev/

  • 使用 Truffle 部署智能合约:https://doc.aurora.dev/interact/truffle/

  • 了解 Aurora DAO:https://aurora.dev/dao

  • 在 YouTube 上关注 Infura:https://www.youtube.com/@Infura/videos

  • 在 YouTube 上关注 Aurora:https://www.youtube.com/watch?v=ibST7Dq8BY8

💡受到启发,想加入区块链的革命性世界?今天就来看看https://consensys.net/careers/

💻 想开始您的 Web3 开发者之旅吗?https://infura.io/register

📖 阅读更多类似的故事:https://blog.infura.io/

➕关注Infura。

  • https://twitter.com/infura_io

  • https://discord.gg/RF7N6RHaV8

  • https://www.linkedin.com/company/infuraio/

  • https://github.com/INFURA

  • https://www.youtube.com/c/Infura

咨询我们的区块链专家

我们的全球解决方案团队提供区块链培训、战略咨询、实现服务和合作机会。

请与我们联系,了解更多资讯:wechat@consensys.net

...全文

相关推荐

黑龙江省哈尔滨新区矢量面数据-02坐标-geojson格式.json

哈尔滨新区区划面数据,geojson格式,02坐标

samLi0620

输电线路绝缘子红外图像检测数据集VOC+YOLO格式203张1类别.md

亲爱的CSDN用户: 首先感谢你点进这个资源页面。我需要提前说明一个重要情况: **本资源原本已设置为“0积分下载”**,即作者希望完全免费共享。但CSDN平台有时会根据文件的下载热度、文件大小、用户权限等因素,**自动将部分资源的积分调整为非0数值**(如1积分、2积分、5积分等)。这是平台系统的自动行为,而非作者本人的设定。 **因此,如果你当前看到该资源的下载所需积分不是0(例如显示为1、2、3……),请谨慎决定是否下载。** 如果你按照非0积分支付并下载后发现资源内容不符合预期、链接失效,或者实际上该资源本应是免费的,作者无法为此承担积分损失或退还操作。**强烈建议:仅在页面显示为0积分时进行下载。** 另外,本资源描述中**并未直接提供具体的下载地址或外部链接**,因为它本身是一个通过CSDN官方上传通道提交的文件/内容包。如果你看到描述中没有外部网盘地址,这是正常的——资源文件应通过CSDN内置的“下载”按钮获取。若因平台积分显示异常导致你支付了积分,请优先联系CSDN客服咨询积分退还政策,作者没有权限修改平台自动设定的积分值。 感谢你的理解与支持。技术分享本应开放,但受限于平台规则,特此提醒如上。祝学习进步!

fl176831

器具焊接缺陷检测数据集8种缺陷8520张(已增强YOLO+CVOC).zip

数据集格式:VOC格式+YOLO格式 压缩包内含:3个文件夹,分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计:8520 Annotations文件夹中xml文件总计:8520 labels文件夹中txt文件总计:8520 标签种类数:8 标签名称:["Burn-through","Crack","Excess Reinforcement","Good Welding","Overlap","Porosity","Spatters","Undercut"] 标签中文对照:[烧穿、裂纹、过度加固、良好、重叠、多孔、溅落物、咬边] 每个标签的框数(注意yolo格式类别顺序不和这个对应,而以labels文件夹classes.txt为准): Burn-through 框数 = 107 Crack 框数 = 2347 Excess Reinforcement 框数 = 10921 Good Welding 框数 = 2504 Overlap 框数 = 275 Porosity 框数 = 29593 Spatters 框数 = 75509 Undercut 框数 = 525 总框数:121781 图片清晰度(分辨率:像素):清晰 图片是否增强:是 标签形状:矩形框,用于目标检测识别 重要说明:暂无 特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注

不会仰游的河马君

【多机器人路径规划】基于动态边权膨胀与节点预留历史机制的多智能体无冲突轨迹生成方法(Matlab代码实现)

内容概要:本文提出了一种基于动态边权膨胀与节点预留历史机制的多智能体无冲突轨迹生成方法,旨在解决多机器人路径规划中的碰撞与死锁问题。该方法通过动态调整路径搜索过程中图模型的边权重,结合历史节点占用信息进行路径优化,有效提升路径规划的安全性与全局效率。算法在保证各智能体从起始点到目标点可达的同时,避免时空冲突,适用于密集环境下的多机器人协同作业场景,并通过Matlab仿真验证了其有效性与鲁棒性。; 适合人群:具备一定算法基础和机器人路径规划背景,从事自动化、智能控制、移动机器人或人工智能方向研究的研发人员与研究生。; 使用场景及目标:① 解决多机器人系统中的路径冲突与死锁问题;② 实现复杂环境中多智能体的高效、安全轨迹规划;③ 为工业自动化、仓储物流、无人车队等多主体协同系统提供路径规划解决方案; 其他说明:该方法结合了图搜索优化与冲突消解策略,具有较强的工程应用潜力,建议使用者深入理解其动态权重机制与节点预留逻辑,并结合具体应用场景进行参数调优与算法扩展。

吃兔子的大脑腐

无人驾驶车辆MPC模型预测+轨迹跟踪(双移线)Carsim与Matlab联合仿真、附参考资料

内容概要:本文围绕无人驾驶车辆的模型预测控制(MPC)技术展开,重点研究了在双移线工况下,基于Carsim与Matlab/Simulink联合仿真平台实现车辆轨迹跟踪的控制策略。文中系统阐述了基于线性时变MPC的轨迹跟踪算法设计,涵盖车辆动力学建模、参考轨迹生成、预测模型构建、代价函数设计及多类约束处理等关键技术环节,并通过联合仿真验证了控制算法在横向稳定性、轨迹跟踪精度与鲁棒性方面的有效性。同时,研究进一步拓展至神经网络(NN)与自适应神经模糊推理系统(ANFIS)对MPC控制器的优化方法,显著增强了系统在复杂动态工况下的自适应调节能力与控制性能。资源配套提供了完整的仿真代码、模型文件及详实的参考文献,支持算法复现与深入探索。; 适合人群:具备扎实的车辆动力学、自动控制理论基础,熟练掌握Matlab/Simulink与Carsim仿真工具,从事自动驾驶、智能车辆控制、先进控制算法研究的研发工程师及高校研究生。; 使用场景及目标:①深入理解MPC在无人驾驶车辆轨迹跟踪中的核心应用原理与工程实现细节;②掌握Carsim与Matlab/Simulink联合仿真的系统建模、参数配置与联合调试技巧;③复现并优化基于MPC及其智能优化算法的双移线轨迹跟踪控制方案,提升复杂工况下的控制性能; 阅读建议:建议结合所提供的完整仿真代码与模型文件,亲手搭建联合仿真环境,重点剖析MPC控制器的设计逻辑、参数整定(tuning)方法及优化策略的实现机制,并尝试引入其他智能算法以进一步提升系统的自适应能力与鲁棒性。

三伯
评论
收藏 已收藏
分享
返回顶部
csdnsqst0035
ConsenSys 725 成员 86 内容