作者:落梓- | 来源:互联网 | 2023-07-06 18:37
当我们不是很熟悉所涉及的技术时,却试图想要理解 NFT 项目的体系结构,有时就会觉得它是一项艰巨的任务。本文试图来解释一二,希望能给大家对 NFT 的一般架构的理解有一定帮助。让我们参考下图,看看典型
当我们不是很熟悉所涉及的技术时,却试图想要理解 NFT 项目的体系结构,有时就会觉得它是一项艰巨的任务。本文试图来解释一二,希望能给大家对 NFT 的一般架构的理解有一定帮助。
让我们参考下图,看看典型的 NFT 项目的核心组件是什么。这里强调的是典型且一般的,但由于项目都不尽相同,使得他们之间总会有一些细微的变化。
可视化所涉及的交互和组件。
典型的 NFT 项目架构由 4 个主要组件组成。这些本质上可以分解为:
铸造网站:用户通常会去“铸造”NFT 的地方。
钱包管理软件:终端用户用于与以太坊区块链进行交互的地方。
智能合约:存在于区块链上的一段代码,NFT 就“存在”在这里。所有的 NFT 都是由智能合约产生的,但并不是所有的智能合约都会产生 NFT。
元数据存储:项目选择托管与 NFT 相关的数据的方式。
铸造网站
铸造网站和普通网站并没有太大区别。主要的区别在于,它们通常使用一些流行的 Javascript 库,允许终端用户通过钱包连接与区块链交互。在编写本文时,最常见的两个库是 Web3 和 Ethers。
带有 MetaMask 提示的 Otherside 铸造页面。
它被称为铸造网站的原因是,这是客户经常去铸造 NFT 的地方。我们可以将铸造看作是一个实际创建 NFT 本身的过程。通常情况下,用户会访问一个铸造网站,将所谓的交易发送到与该网站相关联的智能合约,在成功支付后,NFT 被创建并被转移到用户的钱包。
钱包
当涉及到生成 NFT 或与区块链进行任何形式的交互时,通常需要某种形式的钱包管理软件,例如 MetaMask。
软件钱包使用所谓的 RPC 与区块链交互,并允许用户向以太坊网络提交交易。当将钱包连接到铸造网站时,就已经迈出了与智能合约交互所需的第一步,该智能合约将铸造 NFT。
智能合约真的那么智能吗?
任何 NFT 都源于所谓的智能合约。在区块链的世界中,这些通常被称为一组逻辑或代码,它们以一种无需信任的方式管理用户之间的交互。智能合约代码的执行方式保证了一个可预测的结果,并确保用户之间的交易不需要第三方的信任。
“Hello World”的智能合约。
智能合约本身是由开发人员编写的,然后部署到以太坊网络,在那里它们将无限期地存在,直到时间和空间的尽头。当我们创建一个 NFT 时,最终会将一个交易发送给一个智能合约,其中会包含一些数据,这些数据告知它要执行哪个函数,而那个函数又会给我们生成一些宝贵的 NFT。
将元数据附加到 NFT
要记住的一个重要方面是,区块链本身是一个封闭系统。考虑到这一点,人们可能会问,生活在以太坊生态系统智能合约中的 NFT 项目中的代币 ID 如何与代表链下代币本身的元数据相关联。
调用 tokenURI 函数。
其实就是 tokenURI 函数。使用 Bored Ape Yacht Club (BAYC) 的智能合约作为上下文,我们可以看到与代币 ID #1 相关联的代币 URI 如下所示。BAYC 已选择使用 IPFS( 一种去中心化的文件系统协议 ) 来存储与每个 BAYC 代币相关的元数据,如ipfs
返回 URL 的前置方案所示。
BAYC 代币 #1 的元数据。
结果字符串是与这个特定代币 ID 相关联的 URL 的表示。但是,需要注意的是,并非所有的 NFT 都必须指向某些外部 URL。有各种各样的“链上”项目,这些代币的数据完全托管在以太坊网络上。
Source:https://medium.com/@ItsCuzzo/general-architecture-of-an-nft-project-on-ethereum-b54b047800cc
关于
ChinaDeFi - ChinaDeFi.com 是一个研究驱动的 DeFi 创新组织,同时我们也是区块链开发团队。每天从全球超过 500 个优质信息源的近 900 篇内容中,寻找思考更具深度、梳理更为系统的内容,以最快的速度同步到中国市场提供决策辅助材料。
Layer 2 道友 - 欢迎对 Layer 2 感兴趣的区块链技术爱好者、研究分析人与 Gavin(微信: chinadefi)联系,共同探讨 Layer 2 带来的落地机遇。敬请关注我们的微信公众号 “去中心化金融社区”。