NFT:深入解析 ERC-6551 底层原理_NFTL币

撰文: @0xCygaar 翻译:MetaCat

本文是对 ERC-6551 如何使任意 NFT 拥有任何类型加密资产的简要说明。

让我们从大多数 NFT 的实际情况开始。

以太坊上的 NFT 只是智能合约中的数据条目,这些条目告诉你谁拥有 NFT、谁可以转移 NFT,以及 NFT 的元数据是什么样的。以下是返回有关给定 NFT 信息的函数:

获取给定 NFT 的 Owner

获取给定 NFT 的 tokenURI

共和党众议院领袖麦卡锡呼吁美国决策者更深入地了解比特币:4月13日消息,众议院少数党领袖凯文·麦卡锡呼吁美国的决策者更深入地了解比特币。CNBC的Joe Kernen询问麦卡锡有关美国财政部长耶伦和美联储主席鲍威尔是否应阅读《比特币标准》(一本由经济学家Saifedean Ammous撰写的畅销书)时,麦卡锡回答:“要走向未来,他们不应该忽视比特币……对于那些监管者和执政者来说,最好现在就开始理解比特币对未来而言意味着什么,因为其他国家(尤其是中国)正在向前发展。”麦卡锡警告说,如果不采取行动,美国最终可能落后于中国。(U.today)[2021/4/13 20:15:34]

声音 | 李东荣:依托区块链研究工作组等 就国内外金融科技热点重点问题开展深入研究:据人民网报道,中国互联网金融协会会长李东荣做客人民网视频访谈表示,从四方面加强金融科技发展,其中提到: 第一,依托移动金融专委会、网络与信息安全专委会、金融科技发展与研究工作组、区块链研究工作组等,牵头组织行业研究力量,就国内外金融科技热点重点问题开展深入研究,主要包括英美及部分新兴市场国家金融科技监管最新进展,网络借贷、股权众筹等金融科技业态国际比较,监管科技、监管沙箱发展情况,大数据、云计算、人工智能、区块链等技术在金融领域的应用情况等。其次是持续加强金融科技标准化建设,提升行业标准化规范化水平。三是履行社会组织对外交往职能,不断加强金融科技国际交流合作。 第四,协会综合运用自身掌握数据,以及司法系统、科技公司等第三方合作数据,针对互联网资管、网络借贷、ICO、互联网非法外汇交易、涉嫌违法违规宣传活动等重点领域持续开展监测。[2018/12/27]

获取给定 NFT 被 approve 的钱包地址

动态 | 北大光华成立金融科技联合实验室 向区块链等五大领域深入研究:10月12日,北京大学光华管理学院与度小满金融宣布合作成立金融科技联合实验室,并在北京大学为实验室揭牌。联合实验室主任刘晓蕾表示实验室将围绕数字化资产配置、超大规模关联网络、在线机器人、监管科技、区块链技术等五大领域深入研究,积极探索前沿技术在金融场景中的应用,同时推动跨学科人才的培养和输出。[2018/10/12]

当你 mint NFT 时,你只是设置数据条目所有者的值(钱包地址)。当你转移 NFT 时,你只是改变了所有者的值(钱包地址)。下面两张图是 ERC721 合约中所有权设置相关代码:

SYNC 2018区块链系列活动会议于新加坡召开 MDT与诸多领域大咖进行深入探讨:3月9日,由科技媒体Pingwest举办的SYNC 2018区块链系列活动会议于新加坡召开。MDT量数代表黄何,火币全球运营总监Herbert,ODYSSEY/OBike项目负责人Sophie,新加坡星展银行DBS私人银行副总监于珊珊一同前来参会。在会议现场MDT量数与银行、虚拟货币交易所,通过不同立场探讨了虚拟货币作为货币形态在科技领域的展望。[2018/3/12]

ERC721 合约中的 mint 函数

ERC721 合约中的 transfer 函数

大多数 NFT 合约就是这么简单。正如我们在上面看到的,没有代码能够使这些 NFT 拥有其他 NFT、ETH 或 ERC20 代币。

智能合约无法更改,那么 ERC-6551 如何让任何 NFT 拥有其他资产呢?

答案是:注册表 + 合约钱包。

智能合约钱包(CA 钱包)只是一个可以接收 NFT、ERC20 或 ETH 并另外执行任意交易的智能合约。这些合约钱包都有自己的地址(就像所有智能合约一样)。

如果你不熟悉注册表,你可以将它们视为存储信息的单个智能合约。ERC-6551 注册表包含:说明哪些 NFT 映射到哪些智能合约钱包的信息,它还使用代理创建智能合约钱包(了解即可并不重要)。

注册表合约代码?

https://vscode.blockscan.com/polygon/0x02101dfB77FDE026414827Fdc604ddAF224F0921

例如,Azuki #4567 可能映射到位于地址 0x243F4E0d556EFD1006c52E85A6ddFb6748A4C0b7 的智能合约钱包。一个 NFT 可以控制多个合约账户,但每个合约账户只属于一个 NFT,详见下图:

好了,我们现在有了一个注册表,可以为 NFT 创建钱包并将 NFT 和钱包关联在一起,这款 NFT 绑定钱包现在可以作为普通钱包使用。这个钱包可以转移 ETH、购买 NFT 或 Swap ERC20 代币,当然必须由 NFT 所有者发起交易。

我想重申一下,这些与 NFT 绑定的钱包是智能合约。它们与多签钱包类似,必须有人调用合约上的函数才能让钱包执行某些操作。对于 ERC-6551 钱包,NFT 所有者将在钱包上调用 executeCall 来启动交易。

那么这些 NFT 绑定钱包有什么特别之处?当控制 NFT 的所有者发生变化时,钱包的控制权也同步变化。控制 NFT 意味着你控制 NFT 绑定钱包中的一切,NFT 将从单一资产转变为捆绑的资产包。

TL;DR :ERC-6551 使所有 NFT 能够通过使用注册表和智能合约钱包来拥有一个钱包。注册表创建合约钱包并将该合约钱包关联到 NFT。合约钱包可以拥有其他资产,只有 NFT 的所有者才能在此钱包上执行交易。

MetaCat

个人专栏

阅读更多

金色早8点

Odaily星球日报

金色财经

Block unicorn

DAOrayaki

曼昆区块链法律

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

[0:0ms0-7:860ms