技术社区分享|在 Flow 上引入 NFT metadata

技术社区分享|在 Flow 上引入 NFT metadata

Created
Feb 22, 2022 10:43 AM
作者
Pete
翻译
Lanford
Tags
Cadence
Metadata
notion image
本文由Flow技术Pete撰写,Flow的技术大使Lanford翻译。
原文链接:https://forum.onflow.org/t/introducing-nft-metadata-on-flow/2798
 
有一组开发者在 Flow 核心团队的帮助下,一直在为 Cadence 的 NFT 标准进行拓展,以增加对链上 NFT metadata 的支持。我们现在很高兴地宣布,这项拓展已经可以使用了!
——Pete
 
⚠️ 这是一个持续发展的标准,未来会有更多的更新和拓展。今天你就可以实现这项拓展,但是如果你想要用到 NFT 版税功能的话,我们建议你等候版税视图实现。
 
版税视图:https://github.com/onflow/flow-nft/issues/53
这项工作已经开展几个月了,所以我们在这里做一个回顾:
  • 2021 年 12 月 15 日 —— @bjartek @briandilley 和 @bluesign 提议了一个 metadata 的基础标准,并在 FLIP-0636 中被采纳。
  • 2022 年 1 月 4 日 —— 我们将基础标准合并到了 Flow NFT 的主代码仓库里。
  • 2022 年 1 月 19 日 —— 我们为 NFT 的描述和缩略图定义了第一个 metadata 基础结构。
  • 2022 年 1 月 25 日 —— 新标准被部署到了 Flow 的测试网和主网。
为什么这个标准很重要?
  • 生态系统的网络效应 —— 是时候统合 Flow 的 NFT 了。这个标准将允许所有的 NFT 项目使用一种共同的语言,这将为他们的强力集成铺平道路。我们都在一台共享的计算机上运行,所以让我们来使用它吧!
  • 为用户提供更好的实用性 —— 真正的所有权意味着用户应该能够在任何地方使用他们的 NFT。在我们正在建设的开放世界中,没有人愿意被困在孤岛上。
  • 减少开发人员的烦恼 —— 一个通用标准消除了开发者的摩擦,使其更容易创建一个可以到处使用的 NFT。不再有更多特例或硬编码了!
在 Flow 上有一个由许多独立项目组成的、不断增长的 NFT 生态系统。每个项目本身都很棒,但任何系统的真正力量都来自其各部分的总和。NFT 基础标准定义了 NFT 的机制(铸币、转移等),但没有定义这些 NFT 在不同应用中的外观和功能。
我们开始看到第一波聚合了多个项目的 NFT 的应用。Blocto Bay、Gaia 和 Rarible 等市场现在允许用户在一个地方交易各种 NFT。Alchemy NFT API 提供了 Flow 链上 NFT 的索引。Blocto 和 Dapper 等钱包为用户提供了一种收集 NFT 的方法,而 Find 允许用户将 NFT 添加到他们的公共资料中。Metadaba 标准使得开发人员能够定义如何在所有这些应用中显示他们的 NFT。
NFT metadata 如何在 Flow 上工作
Flow 旨在支持应用的可组合性:多个应用程序相互交互、基于彼此进行构建的能力。区块链系统提供了一个共享的执行状态,可组合的应用可以在其中蓬勃发展。例如,在 Flow 上,应用间的通信发生在 Cadence 函数调用中,而不是 HTTP 请求中。
考虑到这一点,这些是 NFT metadata 的高级设计目标:
  • 重要数据应该直接存在于链上。虽然将图像和视频等大型资源放在链下存储中是很常见的做法,但其他信息(例如 NFT 的特征)更适合在链上存储。这会允许另一个 Cadence 合约在你的 NFT 之上构建有趣的逻辑(即它是为可组合性而构建的)。
  • Metadata 应该是灵活的。我们无法预测 NFT 未来的所有用例,因此我们定义了一个标准框架,它可以在新用例出现时轻松扩展。任何人都可以提出新的 metadata 格式(称为 "视图")。
  • 新标准应该是非破坏性的。作者特别注意确保该标准不会破坏现有的 NFT 应用。你要是准备好了,就可以随时升级你的 NFT 合约,而不会破坏你当前的实现。
如何实现 NFT metadata 标准
我们将很快发布完整的开发指南,但如果您想抢占先机,请查看最新版本的 Kitty Items 示例应用,它已经实现了新的 metadata 标准。
如前所述,如果你想在生产环境中使用版税视图,则需要稍作等待。
加入讨论
随着标准的发展,新 metadata 视图的相关内容将在 Flow NFT 代码仓库中进行讨论。欢迎在 GitHub 上加入我们的讨论!
  • 版税——关于 NFT 版税的 metadata 标准格式的讨论正在进行中。版税是在未来的销售中支付给 NFT 创建者的费用。
  • 序列号——一个为 NFT 序列号定义 metadata 视图的提议。
Github讨论: https://github.com/onflow/flow-nft/issues
这里是其他视图的相关讨论:
  • Collection 级别的视图:https://github.com/onflow/flow-nft/issues/62
  • 用于表示一个 NFT 被上架用于销售/拍卖/交换等的 Listing 视图:https://github.com/onflow/flow-nft/issues/61
  • 用于表示 NFT 的稀有性的视图:https://github.com/onflow/flow-nft/issues/60
  • 用于表示某 NFT 供人查看的外部网页地址的视图:https://github.com/onflow/flow-nft/issues/59
  • 用于表示物品 ID 的视图:https://github.com/onflow/flow-nft/issues/56