深入探讨 Solana NFT 元数据

  • QuickNode
  • 发布于 2025-01-25 20:28
  • 阅读 14

文章详细介绍了Solana NFT的元数据,包括Metaplex NFT代币标准、如何使用Solana Explorer追踪NFT信息、认证集合和Candy Machine对NFT元数据的影响,以及链上和链下元数据的结构。

概述

即使在 2022 年的熊市中,Solana NFTs 也没有显示出减缓的迹象。如果你正在构建 Solana NFTs,了解你的 NFTs 的元数据将使你更容易部署和更新 NFTs,与用户进行沟通,并开发创新的 NFT 应用程序。无论你是一个收藏家,解读你的 NFTs 的元数据将帮助你理解 NFT 以及如何在 Solana 区块浏览器上找到重要信息。

在本指南中,你将学习:

  • 什么是 Metaplex NFT 代币标准
  • 如何使用 Solana Explorer 跟踪和查找有关你的 NFT(或多个 NFT)的信息
  • 什么是认证集合和 Candy Machines,它们如何影响 NFT 的元数据

你将需要的准备

  • 对 Solana NFTs 的基本经验

Metaplex NFT 代币标准

元数据是在区块链协议中分配给可替代代币(fungible token)或不可替代代币(non-fungible token)的一种基本工具。这包括与 NFT 相关联的数据,例如图像或特征、可替代代币的缩写(如 $USDC 或 $mSOL),或者创作者的版权金额和钱包。

由于 Solana 的 SPL 代币程序仅包含最少的元数据(如代币数量),Metaplex 创建了一个广泛采用的协议,用于将附加元数据附加到代币。Metaplex 协议创建了一个程序派生地址(Program Derived Address, PDA)(有关 PDA 的更多信息,请查看我们的 Solana 基础参考指南)与铸造账户(铸造账户负责存储代币的全局信息,而代币账户存储钱包与铸造账户之间的关系. 来源 docs.metaplex.com)。换句话说,每个代币(可替代或不可替代)都有一个铸造账户;代币的授权可以通过 PDA 使用 Metaplex 元数据程序附加附加元数据:

来源:*docs.metaplex.com\*

注意:如果你有构建 Solana 程序的经验,PDA 是由以下字段生成的:代币铸造的公钥、代币元数据程序的公钥和术语“metadata”。

Metaplex 元数据程序为 NFT、可替代代币和可替代资产/半可替代代币(Semi-fungible Tokens, SFTs)定义了标准。本指南将侧重于 NFT - 有关其他标准的更多信息,请访问 Metaplex 代币标准

元数据包括两个主要部分:存储在 PDA 上链的数据和存储在链外(通常在某些永久去中心化存储中,例如 Arweave、IPFS 或 Shadow Drive)的数据,通过唯一的 URI 在 PDA 中链接。将某些数据托管在链外的主要目的是限制元数据 PDA 的租赁成本,并允许元数据程序随着行业需求的变化而更灵活地发展(更多信息可在 Metaplex FAQs 获取)。

链上元数据

以下字段是在给定 NFT 的链上元数据 PDA 中存储的数据:

  • Key - 识别元数据账户类型的账户鉴别符
  • Update Authority - 被允许更新此账户的公钥
  • Mint - 其源自的铸造账户的公钥
  • Name - 代币的链上名称(如“Quick Pixel #1”)
  • Symbol - 代币的链上符号(如“FFF”)
  • Uri - 指向外部元数据的 URI。该 URI 指向一个链外 JSON 文件,其中包含按照某种标准的附加数据
  • Seller Fee Basis Points - 创作者分享的版权金额,以基点表示——即,550 意味着 5.5% 的版权费用。注意:尽管大多数 NFT 市场会使用该字段,但它并未受到代币元数据程序本身的实施
  • Primary Sale Happened - 一个布尔值,指示该代币是否已经售出至少一次。一旦切换为 True,永远不能再变为 False。该字段可能会影响版权分配方式
  • Is Mutable - 一个布尔值,指示元数据账户是否可以更新。一旦切换为 False,永远不能再变为 True
  • Creators - (可选)创作者及其版权份额的数组。该数组限制为 5 个创作者。每个创作者对象包含以下字段:Address(创作者公钥的字符串)、Verified(布尔值 - 如果创作者已签署 NFT,则为 true)、Share(一数值 [0-100],表示版权的比例份额 %。所有创作者份额的总和应为 100)
  • 其他可选字段包括:Creators、Edition Nonce、Token Standard、Collection、Uses、Collection Details

来源:Metaplex 代币元数据账户

链外元数据

以下字段是存储在链接到 PDA 的 JSON 中的数据,通过 URI 字段连接:

  • name - NFT 名称
  • symbol - NFT 的符号
  • description - NFT 的描述
  • image - 指向资产主要图像的 URI(通常与 NFT 关联)
  • animation_url - 指向资产动画的 URI(如果存在的话)
  • external_url - 指向定义资产的外部 URL 的 URI——例如,创作者的网站。
  • attributes - 定义资产特征的属性数组。
  • properties - 与 NFT 相关的任何文件及其主要文件类型“category”。
  • category(已弃用) - 你可能在旧 NFTs 中看到这个字段,但这个信息现在已移至链上元数据。

这是很多内容 - 下面是一个快速的视觉效果,显示了链上和链外信息的关系:

来源:*docs.metaplex.com\*

让我们用一个示例来理解一下。

使用 Solana Explorer 浏览元数据

让我们通过 Solana Explorer 查看链上的一个 NFT,并浏览其元数据的元素。我找到了一只我想了解更多的 Okay Bear。它的铸造地址是 H6wPjAGAU1mH83sQ8pJC98kYkGCju5Z5ZpJ4sWcLfn2a。请访问 explorer.solana.com 并在搜索栏中输入该铸造地址。它应该会将你重定向到 NFT 的铸造页面,在这里

你应该看到一张带有一些基本信息的 NFT 图像:

如果你向下滚动,应该会看到一个“Metadata”选项卡(注意:这只会出现在由浏览器发现的具有相关元数据的铸造页面中)。点击它。你应该看到我们 NFT 的链上元数据以 JSON 格式列出:

这看起来应该与我们上述列出的 “链上元数据” 项目类似。Solana Explorer 在“Attributes”选项卡中抽象了一些我们的链外数据(例如特征),但是我们的其他链外元数据在哪儿呢?如果返回元数据标签,找到“uri”字段。如果你还记得的话,这是我们链接外部 JSON 的位置。复制该 链接 并在新标签页中打开。

你应该在浏览器中看到一个 JSON 文件:

花一点时间浏览数据。你应该能看到我们定义的所有字段。随意找到“image” URI 并在新标签页中打开。那个 IPFS URI 将引导你到原始图像!

就这样!在我们在 Solana Explorer 上查看的链上数据和通过 “URI” 字段找到的链外数据之间,我们拥有有关该 NFT 的所有数据。

在结束之前,让我们更仔细地看一下 Metaplex 认证集合和 Candy Machines,并深入了解它们如何影响 NFT 的元数据。

跟踪集合和创作者

Metaplex 认证集合

在 2022 年,Metaplex 推出了认证集合,以便启用链上验证和 NFT 的分组。认证集合使用户更容易查询某个 NFT 属于哪个集合,找到集合中的所有 NFT,并标准化有关集合的详细信息。交易所和钱包经常使用集合数据来整合 NFT 的文件夹视图。

通过为链上元数据字段“collection”分配“集合 NFT”的铸造地址的值来创建认证集合。集合 NFT 存在用于存储有关该集合的信息,并成为所有集合元素之间的共同链。此外,除了在 NFT 的元数据的“collection”字段中捕获集合 NFT 的公钥,你还会看到一个布尔字段“verified”。为了标记“verified”字段为 true,集合 NFT 的授权者必须签署 NFT,以证明它被允许成为该集合的一部分(来源:docs.metaplex.com/../certified-collections)。

来源/更多信息:*docs.metaplex.com/../certified-collections\*

如果我们返回到我们的 Okay Bear 元数据并展开 collection 字段,我们可以看到 NFT 已被验证为其一部分 3saAedkM9o5g1u5DCqsuMZuC4GRqPB4TuMkvSsSVvGQ3 集合:

"collection":{
    "verified":1,
    "key":"3saAedkM9o5g1u5DCqsuMZuC4GRqPB4TuMkvSsSVvGQ3"
}

简化调试的日志

你现在可以访问 RPC 端点的日志,帮助你更有效地解决问题。如果你在 RPC 调用中遇到问题,只需查看 QuickNode 仪表板中的日志,以快速识别和解决问题。有关日志历史限制的更多信息,请查看 我们的定价页面

在铸造 NFT 时,可以使用 Candy MachineJS SDK 或通过 Metaplex 的认证集合 网页工具 创建集合。

如果你仔细查看我们 NFT 的链上元数据,你可能会注意到元数据中有一点奇怪的情况。我们有一个经过验证的创作者,其收入份额为 0%。他们为什么这样做?其实这是相当普遍的——我们将在下一部分讨论。

Candy Machine 铸造

除了自动认证集合,Candy Machine 还包括另一个便于跟踪与共同铸造相关的 NFT 的功能。在铸造时,它们在创作者列表的第一位置添加并验证一个新的创作者的地址(通常称为“创作者零”,因为它位于 0 索引位置)。新的创作者在历史上是 Candy Machine 的地址,但较新版本使用了 Candy Machine 铸造的凭证 PDA。由于该地址并不是创作者,因此版权费自动设置为 0。由于该地址仅与特定集合/Candy Machine 的铸造相关,并且 Candy Machine 验证(签署)NFT,因此市场和钱包通常使用此作为查找或跟踪 NFT 集合的替代方法。

注意:几个版本的 Candy Machines 使用此方法,几个其他铸造工具也是如此。以下是一些程序 ID:

  • CandyMachine v1: cndyAnrLdpjq1Ssp1z8xxDsB8dxe7u4HL5Nxi2K5WXZ
  • CandyMachine v2: cndy3Z4yapfJBmL3ShUp5exZKqR3z33thTzeNMm2gRZ
  • CandyMachine v3: CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdefbAnjHG3JR
  • MagicEden Forked CM: CMZYPASGWeTz7RNGHaRJfCq2XQ5pYK6nDvVQxzkH51zb
  • LaunchMyNft: ArAA6CZC123yMJLUe4uisBEgvfuw2WEvex9iFmFCYiXv

来源: OpenSea 帮助中心

让我们再看看我们的熊:

"creators":[
    0:{
        "address":"3xVDoLaecZwXXtN59o6T3Gfxwjcgf8Hc9RfoqBn995P9",
        "verified":1,
        "share":0
    },
    1:{...},
    ...
]

如你所见,3xVDoLaecZwXXtN59o6T3Gfxwjcgf8Hc9RfoqBn995P9 是第一个创作者。它被标记为经过验证且版权份额为 0%。这通常表明我们的 NFT 是通过 Candy Machine 铸造的。如果我们在 Solana Explorer 中搜索该地址,其实可以看到该地址是 Magic Eden 使用的 Candy Machine 的分支(指定程序 ID: CMZYPASGWeTz7RNGHaRJfCq2XQ5pYK6nDvVQxzkH51zb):

相当不错,对吧?

在 Solana 上构建

要在 Solana 上构建,你需要一个API端点来与网络连接。你可以使用公共节点或部署和管理自己的基础设施;不过,如果你想要 8 倍更快的响应时间,你可以将繁重的工作交给我们。看看为什么超过 50% 的 Solana 项目选择 QuickNode,并在 这里 注册一个免费账户。

只需复制你的 HTTP 提供者链接,你就可以开始构建了!

总结

当你探索 Solana 上的 NFT 时,我们希望你能利用这些技巧来构建更高效、安全的应用程序。如果你有任何问题,请加入我们的 Discord,或通过 Twitter 与我们联系。

准备深入探索 Solana NFTs 吗?查看以下指南以继续你的旅程:

我们 ❤️ 反馈!

如果你对本指南有任何反馈或问题,请 告诉我们。我们很想听到你的声音!

  • 原文链接: quicknode.com/guides/sol...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
QuickNode
QuickNode
江湖只有他的大名,没有他的介绍。