Metavrese资源铭文 Metavrese Resource Inscriptions
创新
现有Web3问题陈述
在Web3的世界里,所有的游戏都是碎片化的、互不兼容的。这就导致了这样一种情况,一旦用户购买了游戏资产,当游戏生命周期结束时,该资产就变得毫无价值。虽然该资产仍然存在于区块链上,但它不再具有任何价值。有些可能只是为了观赏而变成图像,而另一些则可能变成毫无意义的代码串。
解决方案构想
Web3的元宇宙急需一种通用的协议,用来定义和设置一个大家共用的资源,该资源通过共识,使各个游戏开发者,应用开发者共同遵守,共同使用。这样,当我拥有该资源,它便成为我在web3世界中纵横驰骋的资产,就像你拥有一辆车,你就可以开去任何地方,你拥有一个化身,你就可以用他出现在任何虚拟世界中。就算某一天,一款游戏的生命周期结束,也不影响你拥有的这份资产,他会继续存在于其他的元宇宙中,无穷无尽。
协议基础定义
基础资源铭文主要由三部分组成,分别是基础资源属性块,应用扩展属性块以及预览展示块组成
我们建议所有铭刻的引用地址以及资源地址都为已经铭刻上链的地址,不然很有可能出现丢失或者跨域的相关问题。
基础资源属性块(baseData):负责存放和设置有关该资源的所拥有的基础属性,包含资源的相关图形资源铭文地址,比如图片,3D模型等。也包含一些资源所携带的比如大小,动画等相关设置属性。这些属性的设置满足最基本的应用要求,其所携带的属性可以被应用扩展属性块所扩展和引用。
预览展示块(previewdata) :本模块由两个子部分组成,
一部分是存放展示模块的相关属性,它们可能包括帧大小、宽高比或为预览定制的特定设置等内容。
一部分是针对相关属性的展示代码(需上链)。这是需要上传到区块链以使显示属性起作用的实际代码。
该模块是用于在ordi的生态,比如ordiscan等web网页中展示其资源的大致预览,此模块理论上是满足嵌套原则,并且可以随意设置展示效果的模块,可以高度定制。
应用扩展属性块(appdata ):用于存放应用独占的相关属性,它包括:
自定义属性:每个应用程序都可以为资产定义自己的一组独特属性。
外部属性引用:应用程序可以引用其他应用程序中定义的属性,也可以构建自己独特的属性块进行扩展。
这使得该资产能够在各种应用程序中具有高度的通用性和适应性,确保其在不同的用例中保留其价值和实用性。
通过定义这三个块,我们为 Web3 元宇宙中的资产管理创建了一个全面且灵活的框架,允许标准化和定制。
就上上图所示的一样,资源一次上链,所有遵循该协议的游戏和应用中,均可以直接引用metaverse中的基础属性用于显示和获取该资源的初始属性与状态关键字。也可以通过AppData中的相关自定义属性来让相关资源符合特定app的要求。当然你也可以使用其他应用已经定义好的相关属性。这一方便是非常开放,游戏与应用开发者可以自由发挥。
你也可以在游戏或者app应用中使用铭文中的所有属性和资源,比如被建议只用于展示的metaversepreview模块属性等。这是你的自由,你完全可以这么做。
一个完整的资源铭刻应该最少包含metaverse和metaversepreview两块属性,缺少metaverse,这个协议将没有意义,缺少metaversepreview,他可能还能应用于游戏和应用中,但是可能将无法被展示和预览,链上web(比如ordiscan等)将无法正常显示其图像。
嵌套原则 Recursive Metaverse Inscriptions(实验开发中)
如何构建?
铭文为适配网页显示以及存储数据,在可读性和可变性上考量,因为xml独有的相关特性,在支持自定义数据,以及可扩展嵌套的相关优势之上,最终选择了xml这种格式来用于铭刻上链。
最基础的相关格式完整示例如下
此metaverse范例代码并不完整,只含有一些定义的全局属性,当然你也可以自定义相关属性,不过此刻他需要一个世界载体。比如应用或者游戏为2D,那么请阅读2D Res Inscriptions的相关说明来定义一个完整的含有2D属性的资源规范。如果含有3D资源(实验开发中)或者其他相关世界属性,必须填充使其完整。当然,如果你只填写最基础属性,也不影响其上链,只是其支持范围将会减少。
我们强烈建议您仔细阅读我们的2D Res Inscriptions,其含有非常成熟且规范的2D资源属性要求。
metaverse
为了符合和遵循加入brc-420的标准,在metaverse属性块中中必须加入 p="brc-420" 这一关键字。否则可能不能被相关协议索引到。
此代码中相关单属性写在"<metaverse" 与 ">" 之间以空格分开,当然你也可以按照标准格式每一个属性一行进行设置
metaverse标准基础单属性建议:
p
Yes
遵循的相关协议 建议填写brc-420
name
Yes
资源名称,是资源的标识名称。
src
Yes
资源依赖的已经上链的资源原始文件,比如2D资源的一张图片,3D资源的一个模型等。
srctype
Yes
原始资源的文件格式,比如图片资源有PNG,JPEG等,模型资源有OBJ、FBX、GLB等。
collection
No
合集名称
serialnumber
No
合集中序号
description
No
资源的相关描述
some key you want
No
你当然可以添加你愿意自定义的相关属性。 建议key格式为custom_yourtypename。 因为不带custom关键字的相关属性 为协议的创世属性或者后续社区投票相关属性。
代码中相关多属性写在"<metaverse...>" 与 "</metaverse>“之间。由多个属性名称一样的元素块构成
在2D Res Inscriptions 中详细定义了2D资源的相关标准。这虽然是实验性的,但是确是经过三思熟虑的资源规范,我们再次强烈建议你仔细阅读并使用,我们相信会减少社区的共识复杂度与门槛。也能加快metaverse游戏或者应用通用2D资源的普及速度。
appdata
这一属性块区域是相关应用或游戏的自定义属性设置的地方,其格式规范可参考metaverse块的属性设置方式,同样分为单属性块和多属性块。
我们将在 rcsv生态中的Bitmap Explorer自定属性块中以实际用例详细介绍此属性块。
metaversepreview
这是关于显示相关的属性,其中包含了其资源在web端或者其他平台或载体的展示效果。其可与资源基础属性相关联,也可以完全独立,这取决你所设置的资源展示模版代码。
其属性结构方式可参考 上述metaverse的属性结构。也是分为单属性块和多属性块。
我们将在 2D Res Inscriptions 结合实例详细介绍此模块
Last updated