✈️ Gate 广场【Gate Travel 旅行分享官召集令】
广场家人们注意啦!Gate Travel 已经上线~ 机票+酒店一站式预订,还能用加密货币直接付款 💸
所以说,你的钱包和你的旅行梦终于可以谈恋爱了 😎 💕
现在广场开启 #GateTravel旅行分享官# 活动,邀你来秀旅行灵感 & 使用体验!💡
🌴 参与方式:
1️⃣ 在【广场】带话题 #Gate Travel 旅行分享官# 发帖
2️⃣ 你可以:
你最想用 Gate Travel 去的目的地(私藏小岛 or 网红打卡点都行)
讲讲用 Gate Travel 订票/订酒店的奇妙体验
放放省钱/使用攻略,让大家省到笑出声
或者直接写一篇轻松的 Gate Travel 旅行小故事
📦 奖励安排,走起:
🏆 优秀分享官(1 名):Gate 旅行露营套装
🎖️ 热门分享官(3 名):Gate 旅行速干套装
🎉 幸运参与奖(5 名):Gate 国际米兰旅行小夜灯
*海外用户 旅行露营套装 以 $100 合约体验券,旅行速干套装 以 $50 合约体验券折算,国际米兰旅行小夜灯以 $30合约体验券折算。
📌 优质内容将有机会得到官方账号转发翻牌提升社区曝光!
📌 帖文将综合互动量、内容丰富度和创意评分。禁止小号刷贴,原创分享更容易脱颖而出!
🕒 8月20 18:00 - 8月28日 24:00 UTC+
深入解析 ERC-6551 底层原理
撰文: @0xCygaar 翻译:MetaCat
本文是对 ERC-6551 如何使任意 NFT 拥有任何类型加密资产的简要说明。
让我们从大多数 NFT 的实际情况开始。
以太坊上的 NFT 只是智能合约中的数据条目,这些条目告诉你谁拥有 NFT、谁可以转移 NFT,以及 NFT 的元数据是什么样的。以下是返回有关给定 NFT 信息的函数:
获取给定 NFT 的 Owner
获取给定 NFT 的 tokenURI
获取给定 NFT 被 approve 的钱包地址
当你 mint NFT 时,你只是设置数据条目所有者的值(钱包地址)。当你转移 NFT 时,你只是改变了所有者的值(钱包地址)。下面两张图是 ERC721 合约中所有权设置相关代码:
ERC721 合约中的 mint 函数
ERC721 合约中的 transfer 函数
大多数 NFT 合约就是这么简单。正如我们在上面看到的,没有代码能够使这些 NFT 拥有其他 NFT、ETH 或 ERC20 代币。
智能合约无法更改,那么 ERC-6551 如何让任何 NFT 拥有其他资产呢?
答案是:注册表 + 合约钱包。
智能合约钱包(CA 钱包)只是一个可以接收 NFT、ERC20 或 ETH 并另外执行任意交易的智能合约。这些合约钱包都有自己的地址(就像所有智能合约一样)。
如果你不熟悉注册表,你可以将它们视为存储信息的单个智能合约。ERC-6551 注册表包含:说明哪些 NFT 映射到哪些智能合约钱包的信息,它还使用代理创建智能合约钱包(了解即可并不重要)。
注册表合约代码?
例如,Azuki #4567 可能映射到位于地址 0x243F4E0d556EFD1006c52E85A6ddFb6748A4C0b7 的智能合约钱包。一个 NFT 可以控制多个合约账户,但每个合约账户只属于一个 NFT,详见下图:
好了,我们现在有了一个注册表,可以为 NFT 创建钱包并将 NFT 和钱包关联在一起,这款 NFT 绑定钱包现在可以作为普通钱包使用。这个钱包可以转移 ETH、购买 NFT 或 Swap ERC20 代币,当然必须由 NFT 所有者发起交易。
我想重申一下,这些与 NFT 绑定的钱包是智能合约。它们与多签钱包类似,必须有人调用合约上的函数才能让钱包执行某些操作。对于 ERC-6551 钱包,NFT 所有者将在钱包上调用 uteCall 来启动交易。
那么这些 NFT 绑定钱包有什么特别之处?当控制 NFT 的所有者发生变化时,钱包的控制权也同步变化。控制 NFT 意味着你控制 NFT 绑定钱包中的一切,NFT 将从单一资产转变为捆绑的资产包。
TL;DR :ERC-6551 使所有 NFT 能够通过使用注册表和智能合约钱包来拥有一个钱包。注册表创建合约钱包并将该合约钱包关联到 NFT。合约钱包可以拥有其他资产,只有 NFT 的所有者才能在此钱包上执行交易。