对于多资源 NFT,有时碰到情况需要在原生的 NFT 铸造后,过一段时间再添加资源 ,例如不同的渲染风格。 如果 NFT 集合的 resources 字段设置为可变,则集合发行者可以为该集合中的 NFT 创建替代资源,然后将其推荐给链上的所有者(RESADD),所有者可以选择是否接受这个新资源 ( RESACCEPT) ,如果接受,资源就会被更新或者添加上去。如此一来,NFT 变的可更新,而非一成不变。 条件渲染和响应式 NFT (Conditional Rendering & Reactive NFTs)RMRK 2.0 NFT 使用 jsonlogic 将条件添加到 NFT 中。 用户绘制月亮的数字绘画。这幅画有两个资源:一个只是一个月亮的图像 [0],一个是月球上的月球基地的图像 [1]。 NFT 有一个这样的逻辑块: ... “logic”: [ { “>”: [“emotes.?”, 50], “priority”: [1, 0] // change prio based on condition == true }, ... 如果人们集体 EMOTE 超过 50 ? 到这幅画,将优先级从 [0,1] 切换为 [1, 0] 。这意味着,如果火箭表情符号超过 50,NFT 将默认显示月球基地。 条件参数可以是多种多样的,例如当区块高度达到多少,或者达到 100 的整数倍时,NFT 默认展示资源发生变化。如果结合预言机(Oracle),还可以将链外信息引入作为条件参数,实现更有趣的变化。 NFT 自定义字段(Custom Fields)RMRK 最强大的特性在于可自定义元数据字段。RMRK 支持创建一个 NFT 集合(Collection),定义好元数据结构之后,再创建从属于该集合的 NFT。每个集合内部的 NFT 使用相同的元数据结构,不同的集合则元数据不同。 德国数学家莱布尼茨曾说:「世界上没有两片相同的叶子」。NFT 也是如此。但是我们可以定义一个名为「叶子」的集合,基于同样的元数据构建出各种各样的叶子。 RMRK 中的 NFT 遵从 Opensea 元数据的属性标准,但 RMRK NFT 有可变字段,集合的发行者可以设置这些字段。可以预见,这是通过 SET 命令完成的。 在铸造集合时,创建人可以定义其可变字段集: ... “mutable”: [“priority”, “resources”, “upside_down”, “mycustomkey”] ... 或者让它完全打开: ... “mutable”: [“*”] ... 或者完全不可变: ... “mutable”: [] ... 这允许 NFT 集合发行者完全自定义他们的 NFT 元数据,集合内的 NFT 将继承其集合的可变字段,但每个 NFT 实例都可以单独覆盖它们。 自定义字段的功能让 RMRK 成为一种极其灵活的 NFT 标准,也让 RMRK 成为了过往所有 NFT 标准的超集。 (责任编辑:admin) |