什么是代币元数据架构?
代币元数据架构(Token Metadata Schema)是一种结构化格式,用于定义加密代币的信息应如何被编写、存储,以及由钱包、去中心化应用(dApp)、区块链浏览器、市场、游戏和索引工具读取。在大多数加密货币讨论中,代币元数据架构指用于描述 NFT 及其他代币化资产的 JSON 结构。该架构会告诉应用应包含哪些字段,例如
官方 ERC-721 标准指出,代币 URI 可以指向符合 ERC-721 Metadata JSON Schema 的 JSON 文件。
官方 ERC-1155 标准为多代币合约定义了 ERC-1155 Metadata URI JSON Schema。
元数据架构十分重要,因为它能帮助不同应用以一致的方式展示同一代币。如果没有架构,每个项目都可能使用不同的字段名称,钱包将难以识别哪个值是图片、哪个值是描述,以及哪个值代表特征。对于初学者而言,理解代币元数据架构最简单的方式,是将其视为加密资产的标签格式。区块链证明代币是否存在以及归谁所有,而元数据架构则说明该代币代表什么。为什么代币元数据架构对加密货币很重要
代币元数据架构很重要,因为用户并非只与原始代币 ID 交互。用户会与图片、名称、描述、特征、等级、徽章、稀有度信息、可解锁内容及其他人类可读的信息交互。钱包只有知道如何读取元数据,才能正确展示代币。游戏只有理解物品的属性和媒体字段,才能正确展示物品。市场只有在特征以可预测的方式结构化时,才能正确筛选系列。接受 NFT 作为抵押品的借贷协议,可能需要准确的系列、特征和媒体信息来支持估值流程。现实世界资产平台可能需要引用文件、发行方、评估、法律条款或验证状态的元数据字段。代币门控应用可能需要元数据,以验证代币是否赋予某个会员等级的访问权限。当元数据结构清晰时,应用可以自动读取它。当元数据杂乱或不一致时,用户可能看到损坏的图片、缺失的特征、错误的名称或过时的资产详情。因此,元数据架构设计不仅是开发者细节,也是加密货币用户体验的一部分。代币元数据架构和 Token URI
Token URI 是指向代币元数据的链接或标识符。代币元数据架构则是该链接或编码响应中数据的结构。例如,ERC-721 合约可以通过
ERC-721 中的代币元数据架构
ERC-721 是 Ethereum 类网络上用于唯一 NFT 的经典标准。ERC-721 元数据扩展包括
ERC-721 标准以简单的 JSON 架构描述元数据,其中可包含
ERC-1155 中的代币元数据架构
ERC-1155 是一种多代币标准,可在一个合约中管理同质化、半同质化和非同质化代币。ERC-1155 元数据架构尤其重要,因为一个合约可能包含含义各不相同的多个代币 ID。单个 ERC-1155 合约可以代表游戏币、武器、盔甲、门票、徽章、限量版物品和独特收藏品。ERC-1155 标准允许 URI 包含
客户端软件会在获取元数据前,将
官方 OpenZeppelin ERC-1155 Metadata URI 文档说明,元数据 URI 扩展会将每种代币指向符合 ERC-1155 Metadata URI JSON Schema 的 JSON 文件。
ERC-1155 元数据可包含
代币元数据架构中的常见字段
最常见的字段是
另一个常见字段是
在客户端支持时,
一些项目会增加
基础 NFT 元数据架构示例
简单的 NFT 元数据文件通常是包含少量清晰字段的 JSON 对象。"name": "Example NFT #1",
"description": "A sample NFT metadata object used to explain token metadata schema.",
"image": "ipfs://bafyExampleCID/image.png",
"attributes": [
{
"trait_type": "Background",
"value": "Blue"
},
{
"trait_type": "Level",
"value": 5
}
]
}
Name 字段
例如:
游戏物品可以使用
会员代币可以使用
Description 字段
Image 字段
Attributes 字段
每项属性通常是包含
例如,
对于游戏物品,
Properties 字段
ERC-1155 元数据示例通常使用
代币元数据架构和 IPFS
IPFS 常用于存储代币元数据和媒体文件。官方 IPFS 内容寻址文档说明,IPFS 使用内容标识符(CID)根据内容本身引用数据。
这对元数据很有帮助,因为 CID 可以显示被引用内容是否已发生变化。如果 JSON 元数据发生改变,CID 也应改变。与可在同一地址修改内容的普通服务器 URL 相比,这为用户提供了更强的完整性。但是,IPFS 并不会自动保证内容永久可用。元数据和图片文件需要被 Pinning 或由节点提供服务,客户端才能获取它们。即使元数据架构存储在 IPFS 中,如果无人维持内容可用,仍可能失效。开发者应在铸造代币前规划 Pinning 和长期存储。用户应了解,内容寻址可改善完整性,但可用性仍需要存储支持。代币元数据架构和 HTTP 存储
一些项目将元数据存储在标准 HTTPS 服务器上。这可使元数据易于更新、生成和快速提供。动态 NFT、游戏资产、揭示机制以及依赖活跃后端系统的资产常采用这种方式。其缺点是 HTTP 元数据依赖服务器运行时间、域名控制权、托管安全性和项目运营。如果服务器离线,用户界面中的代币元数据可能消失。如果域名到期,元数据端点可能变得不安全或不可用。如果服务器运营方修改 JSON,用户可能在没有链上变更的情况下看到不同内容。HTTP 元数据并非天然不佳,但应清楚披露。开发者应说明元数据是否可变,以及存储将维持多久。对于完全依赖中心化元数据服务器的高价值资产,用户应更加谨慎。代币元数据架构和链上元数据
链上元数据是指代币元数据直接由智能合约存储或生成。这可以减少对外部存储系统的依赖。合约可以返回包含编码元数据的
代币元数据架构和动态 NFT
动态 NFT 是指其元数据可根据事件、时间、游戏进程、预言机数据、治理决策或用户操作而改变的代币。动态元数据可使 NFT 更具实用性和交互性。游戏角色可以升级。会员通行证可以从有效状态变为过期状态。用户完成新的成就后,凭证可以更新。现实世界资产代币可以更新验证状态或文件引用。元数据架构应明确动态字段。用户应了解哪些字段可能改变,以及谁控制这些变更。动态 NFT 不应通过模糊的元数据表述隐藏任意的管理员控制权。良好的动态元数据应可预测、有文档记录,并与有意义的代币行为相关联。代币元数据架构和元数据更新
揭示、游戏进展、资产验证和错误修正过程中,元数据更新很常见。官方 ERC-4906 元数据更新扩展定义了在 NFT 元数据变更时通知客户端的事件。
这很重要,因为钱包和索引器通常会为了速度缓存元数据。如果元数据改变但未发出更新信号,用户可能持续看到旧信息。元数据架构应配合清晰的更新行为。对于揭示,项目应说明占位元数据何时会变为最终元数据。对于动态资产,项目应说明什么事件会触发元数据改变。对于管理员控制的更新,项目应披露谁可以在何种条件下修改元数据。透明的元数据更新有助于建立信任。隐藏的元数据更新会带来不确定性,并可能损害代币价值。代币元数据架构和合约级元数据
代币级元数据描述特定代币 ID。合约级元数据描述整个合约或系列。代币元数据架构和 ERC-1046
ERC-1046 将 Token URI 的理念扩展到基础 NFT 用例以外。官方 ERC-1046 tokenURI 互操作性提案为 ERC-20 增加 Token URI 支持,并扩展不同代币类型之间的元数据互操作性。
这很重要,因为同质化代币也可能需要元数据。同质化代币可能需要 Logo、描述、发行方详情、官方链接、合规说明或文件引用。标准化元数据可帮助钱包和应用更清晰地呈现同质化代币。不过,用户不应将元数据字段视为合法性的证明。诈骗代币也可以提供精美的 Logo 和描述。合约地址、发行方、流动性、安全性、代币经济学和官方来源仍然重要。ERC-1046 表明,元数据架构并非只与收藏品图片有关。它们是让代币信息实现互操作的更广泛工作的一部分。代币元数据架构和 ERC-5625
ERC-5625 是一项与 NFT 去中心化存储信息有关的提议元数据扩展。官方 ERC-5625 NFT Metadata JSON Schema dStorage Extension为 NFT 元数据增加去中心化存储属性,以更清晰地描述资产存储信息。
这很重要,因为元数据通常指向存储在区块链外部的文件。代币看似持久,但其媒体可能依赖不明确的存储安排。增加存储相关元数据可帮助用户和应用理解资产数据的存储位置。它也可帮助识别内容是否存储在 IPFS、Arweave 或其他去中心化存储系统中。存储元数据本身不保证永久性。它为应用提供了更清晰的方式,以描述和检查存储假设。对于高价值 NFT,去中心化存储详情可能是尽职调查的重要部分。当元数据架构同时说明资产是什么以及其数据如何保存时,它会更强大。架构验证
架构验证是指检查元数据是否遵循预期结构。验证器可以检查 JSON 是否有效。它可以检查是否存在必填字段。它可以检查图片字段是否为有效 URI。它可以检查 attributes 是否格式化为数组。它可以检查数值是否以一致方式存储。它可以检查媒体字段是否指向受支持的文件类型。架构验证有助于防止钱包显示损坏和市场错误。它也有助于开发者在铸造或揭示前发现错误。项目应在将元数据永久发布到去中心化存储前进行验证。元数据架构和稀有度
稀有度工具通常依赖 NFT 元数据中的
例如,某些工具可能将
如果一个代币使用
元数据架构和游戏资产
游戏资产通常需要比简单艺术 NFT 更丰富的元数据架构。游戏物品可能需要等级、耐久度、攻击力、防御力、稀有度、类别、元素、冷却时间、升级状态或装备槽位等字段。角色 NFT 可能需要经验、技能、库存、阵营、生命值和视觉状态等字段。其中部分字段可能在游戏过程中改变。开发者应决定哪些值应存储在链上,哪些值应存储在元数据中。重要的游戏逻辑不应仅依赖未经验证的链下元数据。游戏合约或服务器应在允许高价值操作前验证关键数值。元数据可改善显示效果,但游戏规则应由可信逻辑保护。用户应了解,物品价值是否依赖游戏持续运营。元数据架构可以描述游戏资产,但游戏生态系统赋予其用途。元数据架构和现实世界资产
现实世界资产代币可能使用元数据架构描述链下资产。示例包括房产记录、商品、发票、债券、基金份额、收藏品、碳信用额或与身份关联的凭证。元数据架构可能包含发行方、资产类别、文件 URI、估值日期、司法管辖区、托管方、验证状态和文件哈希等字段。这些字段可帮助用户理解代币,但不会自动产生法律所有权。法律权利取决于发行方文件、合同、托管安排、司法管辖区和赎回规则。现实世界资产元数据架构应将营销信息与具有法律重要性的引用分开。它应避免无法验证的模糊声明。在可行时,它应通过哈希或持久存储保护文件完整性。用户在依赖现实世界资产元数据前,应阅读官方法律文件。元数据可支持信息披露,但不能取代法律尽职调查。元数据架构和安全风险
代币元数据可能造成安全风险,因为钱包和 dApp 会从外部来源获取并展示数据。恶意元数据文件可能包含网络钓鱼链接、虚假奖励信息、误导性图片或危险的外部 URL。垃圾 NFT 可能出现在钱包中,并通过元数据诱导用户访问虚假的领取页面。仿冒系列可能复制真实系列的名称、图片和属性。遭入侵的元数据服务器可能在之后将看似安全的元数据改为恶意内容。钱包和 dApp 应将元数据视为不可信输入。它们不应执行元数据中的脚本。它们应在可能时净化外部链接和媒体内容。用户绝不应仅因元数据要求,就输入助记词、私钥或钱包备份信息。外观整洁的元数据架构并不能证明代币安全。元数据架构和可变性
可变性是指元数据可在代币铸造后改变。一些项目因代币具有动态性而需要可变性。其他项目则承诺元数据将永久保持不变。元数据架构应符合项目的承诺。如果某系列被宣传为不可变艺术品,元数据就不应仍处于不受限制的管理员控制之下。如果代币是游戏物品,动态元数据可能符合预期。如果代币是凭证,更新可能是必要的,但应可审计。用户应检查谁控制元数据更新。开发者应记录元数据是不可变、动态、由管理员控制,还是由治理控制。隐藏的可变性是 NFT 元数据面临的最大信任风险之一。元数据架构和缓存
缓存是指临时存储元数据,以便应用更快加载代币。钱包、市场、区块链浏览器和索引器通常会缓存元数据。缓存很有用,因为重复获取每一个元数据文件会很慢。问题在于缓存的元数据可能过时。在揭示期间,最终元数据发布后,一些应用可能仍显示占位图片。在动态更新期间,部分应用可能在缓存刷新前显示旧属性。元数据更新标准可帮助客户端了解何时刷新缓存数据。当预计元数据会改变时,开发者应支持更新事件。用户应了解,显示延迟可能由缓存而非代币故障造成。稳健的元数据架构与良好的缓存刷新行为结合时效果最佳。元数据架构和索引器
索引器收集区块链数据并将其整理供应用使用。对于代币元数据,索引器可能调用
开发者最佳实践
使用广泛支持的元数据字段,例如
用户最佳实践
检查代币元数据是存储在 IPFS、服务器、Arweave 还是链上。验证官方合约地址,而非信任代币名称或图片。谨慎对待包含外部链接或奖励声明的元数据。不要仅为了查看元数据而签署交易。不要在任何通过代币元数据链接的页面输入恢复短语。检查元数据是否可由管理员修改。在 NFT 揭示期间仔细检查属性。了解显示图片不能证明真实性。对于现实世界资产代币,应阅读元数据文件之外的法律文件。将元数据视为有用信息,而非价值或安全性的独立证明。常见代币元数据架构错误
第一个错误是发布无效 JSON。第二个错误是在不同代币中使用不一致的属性名称。第三个错误是将图片字段指向不可用文件。第四个错误是在未披露的情况下依赖中心化服务器。第五个错误是在没有明确规则的情况下于铸造后修改元数据。第六个错误是忘记 ERC-1155 的
常见问题
Token Metadata Schema 是什么意思?
Token Metadata Schema 是指用于描述加密代币元数据的结构化格式,通常采用 JSON。Token Metadata Schema 仅适用于 NFT 吗?
不是。它最常用于 NFT,但元数据架构也可支持同质化代币、现实世界资产代币和应用特定代币。NFT 元数据中常见哪些字段?
常见字段包括
Token URI 和 Token Metadata Schema 有何区别?
Token URI 指向元数据,而 Token Metadata Schema 定义该位置元数据的结构。什么是 ERC-721 Metadata JSON Schema?
它是 ERC-721 为通过 Token URI 返回的 NFT 元数据描述的基础元数据架构。什么是 ERC-1155 Metadata URI JSON Schema?
它是 ERC-1155 代币使用的元数据架构,包括通过
代币元数据可以存储在 IPFS 上吗?
可以。代币元数据可通过有助于验证内容完整性的内容标识符存储在 IPFS 上。IPFS 能保证元数据始终可用吗?
不能。IPFS 改善内容寻址,但文件仍需要被 Pinning 或提供服务,用户才能获取。代币元数据可以在铸造后改变吗?
可以。如果项目采用动态元数据、可变服务器、管理员控制的基础 URI 或可更新的解析器逻辑,元数据可能改变。什么是动态代币元数据?
动态代币元数据是指会根据时间、游戏进程、用户活动、预言机数据、合约状态或项目更新而改变的元数据。ERC-4906 有什么用途?
ERC-4906 定义元数据更新事件,让钱包和应用了解何时应刷新 NFT 元数据。ERC-7572 有什么用途?
ERC-7572 对
元数据可能是恶意的吗?
可能。元数据可能包含网络钓鱼链接、虚假奖励声明、误导性图片或不安全的外部引用。为什么 NFT 特征有时显示错误?
NFT 特征可能因属性不一致、缺失、拼写错误、被缓存,或采用客户端无法理解的格式而显示错误。什么样的 Token Metadata Schema 才算好?
良好的 Token Metadata Schema 应有效、一致、持久、有文档、兼容常见工具,并清楚说明元数据是否可能改变。结论
代币元数据架构是一种结构化格式,可告诉钱包、dApp、区块链浏览器、游戏、市场和索引器如何读取加密代币信息。它对 NFT 尤为重要,因为 NFT 所有权存储在链上,而名称、图片、特征、描述和媒体通常通过元数据文件存储。ERC-721 和 ERC-1155 都定义了元数据模式,帮助应用一致地解析和展示代币信息。良好的元数据架构可使代币更易于理解、筛选、交易、验证和在应用中使用。薄弱的元数据架构可能造成图片损坏、特征缺失、数据过时、网络钓鱼风险和用户困惑。重要字段包括
您可能也喜欢
反恐融资(CTF)
框架
波动性爆发
热门
目前热门备受市场关注的加密货币
最高成交量
按交易量计算交易量最大的加密货币

