EIP-3664合约研究笔记04--Metacore平台功能分析

这篇具有很好参考价值的文章主要介绍了EIP-3664合约研究笔记04--Metacore平台功能分析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

DRepublic 团队创作的 MetaCore 系统是集身份系统、无限拼接、无限组合、属性可变 NFT 于一身的一站式平台,MetaCore 让所有用户及项目方都能够创造自己的可拆分可组合 NFT,并将它们挂载到 MetaCore 身份系统上。只需要持有一个 MetaCore,即可将所有组件式 NFT 组织起来,让它们不再是钱包里零散的 NFT,而是分门别类的挂载,组合在不同位置。

1 官网  MetaCore | First Metaverse Identity

 https://www.metacorelabs.io/

首页右上角 分别是 Opensea、Contract。

Opensea: https://opensea.io/collection/metacore-v2

区块链浏览器,智能合约:https://polygonscan.com/address/0x28fe1ab4e3811fbf59a2f02df0aed4518f2da048

EIP-3664合约研究笔记04--Metacore平台功能分析

罗列的三个项目: Metacore、Dragontar、Legoot, 现在都不能操作了。

区块链浏览器的操作:

部署合约Metacore: 

  Polygon Transaction Hash (Txhash) Details | PolygonScan

声明Metacore: 实际就是铸造一个MTC

  Polygon Transaction Hash (Txhash) Details | PolygonScan

合并Legoot NFT:

  Polygon Transaction Hash (Txhash) Details | PolygonScan

分解一个:

  Polygon Transaction Hash (Txhash) Details | PolygonScan

2 Metacore.sol 

分解一个:separateOne:分解出一个子代币,转给原主人

全部分解:separate 所有子代币分别转给原主人

代币合并:combine, 子代币合并入主代币中,所有者是Metacore合约,即主代币合约。

注册:setAuthNFTs,普通NFT必须先注册后才能在主代币合约中合并+分解。

铸造: claim,   铸造一个主体代币。

一般流程:

  1. 部署Metacore合约,

  2. 铸造一个主体NFT, 主属性是“Metaname”,属性id=1.

  3. 注册子代币

  4. 合并子代币

  5. 分解子代币

3 对子代币合约要求

  强制要求子代币合约具备ISynthetic721接口, 具体的功能有3点:

/**

* @dev Interface of the NFT Synthetic.

*/

interface ISynthetic {

    function coreName() external view returns (string memory);


    function tokenTexts(uint256 tokenId) external view returns (string memory);


    function tokenAttributes(uint256 tokenId)

        external

        view

        returns (string memory);

}


/**

* @dev Interface of the NFT(ERC721) Synthetic.

*/

interface ISynthetic721 is ISynthetic, IERC721 {


}

ISynthetic.sol  合成接口, 定义三个函数

    coreName()  查询核心名称

    tokenTexts()  根据代币的主属性查询属性名称

    tokenAttributes()  查询属性值

Legoot.sol文件示例如下:

coreName()            return    Legoot  

tokenTexts(8001)      return    Quarterstaff

tokenAttributes(8001) return    {"trait_type":"WEAPON NAME","value":"Quarterstaff"},{"trait_type":"WEAPON ID","value":"8001"}

4 具体实例数据:

tokenURI(1), 

{

    "name":"Metacore #1",

    "description":"MetaCore is an identity system which can make all metaverse citizens join into different metaverses by using same MetaCore Identity. The first modular NFT with MetaCore at its core, with arbitrary attributes addition and removal, freely combine and divide each components. Already adapted to multiple metaverse blockchain games. FUTURE IS COMMING",

    "image":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaW5ZTWluIG1lZXQiIHZpZXdCb3g9IjAgMCAzNTAgMzUwIj48c3R5bGU+LmJhc2UgeyBmaWxsOiB3aGl0ZTsgZm9udC1mYW1pbHk6IHNlcmlmOyBmb250LXNpemU6IDE0cHg7IH08L3N0eWxlPjxyZWN0IHdpZHRoPSIxMDAlIiBoZWlnaHQ9IjEwMCUiIGZpbGw9ImJsYWNrIiAvPjx0ZXh0IHg9IjEwIiB5PSIyMCIgY2xhc3M9ImJhc2UiPk1ldGFjb3JlICMxPC90ZXh0Pjx0ZXh0IHg9IjEwIiB5PSI0MCIgY2xhc3M9ImJhc2UiPm1ldGFjb3JlPC90ZXh0Pjwvc3ZnPg==",

    "attributes":[

        {

            "trait_type":"Metaname",

            "value":"metacore"

        },

        {

            "trait_type":"Legoot V2",

            "value":"1"

        },

        {

            "trait_type":"SYNTHETIC",

            "value":"true"

        }

    ]

}

image数据:

<svg

    xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet" viewBox="0 0 350 350">

    <style>.base { fill: white; font-family: serif; font-size: 14px; }</style>

    <rect width="100%" height="100%" fill="black" />

    <text x="10" y="20" class="base">Metacore #1</text>

    <text x="10" y="40" class="base">metacore</text>

</svg>

5  合并双方是否同一种NFT?

限制如下: 

(1)主体NFT必须是ERC3664CrossSynthetic类型的721合约, 子NFT就可以是符合ISynthetic721接口的任意合约。

这种情况可以合并不是ERC3664类型合约的NFT。 灵活性较高。

示例: Metacore.sol  是个通用平台,可以合并任意类型的nft,因此定义的父类型是ERC3664CrossSynthetic。

(2)主体NFT是 ERC3664Synthetic  类型, 子NFT也必须是ERC3664Synthetic类型的合约。

这样就可以合并双方。

示例: Legoot.sol  是个游戏配置平台,可以合并同类型的装备,因此定义的父类型是ERC3664Synthetic  。

6 对于属性的理解

本来一个主体NFT通过attach附加了多种属性值,这时合并了一些子NFT,如何处理原有属性和新的子NFT属性呢?

Metacore合约的策略: 完整属性 =   主体NFT的主要属性 + 子NFT的主要属性,

重新理解下: 合并NFT操作在物理层面上是一个NFT转移到合约,记录成了子NFT;在属性层面,合并子NFT就是吸收了子NFT的主要属性。 

 文章来源地址https://www.toymoban.com/news/detail-461410.html

到了这里,关于EIP-3664合约研究笔记04--Metacore平台功能分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CocosCreator3.8研究笔记(二十三)CocosCreator 动画系统-动画编辑器相关功能面板说明

    国庆假期,闲着没事,在家研究技术~ 上一篇,我们介绍了动画剪辑、动画组件以及基本的使用流程,感兴趣的朋友可以前往阅读: CocosCreator 动画系统-动画剪辑和动画组件介绍。 今天,主要介绍动画编辑器相关功能面板说明。 1、工具栏区域 工具栏区域主要是一些常用功能

    2024年02月07日
    浏览(29)
  • 【论文阅读】 智能合约安全漏洞检测技术研究综述

    2016 年 6 月,黑客利用 DAO(decentralized autonomous organization)合约的 可重入漏洞 , 窃取了价值约 6000 万美元的以太币(即以太坊数字货币); 2017 年 7 月, 由于 Parity 多签名钱包合约的 Delegatecall 漏洞 (parity multi-sig wallet delegatecall), 价值近 3 亿美元的以太币被冻结; 2018 年 4 月, 恶意攻击者

    2024年03月14日
    浏览(44)
  • Grepmarx:一款功能强大的应用程序源代码静态分析平台

    Grepmarx是一款功能强大的应用程序源代码静态分析平台,该平台专为应用程序安全研究人员设计,可以帮助我们快速了解、分析和识别大规模未知代码库中潜在的安全漏洞。 Grepmarx提供了以下SAST(静态分析安全测试)功能: 1、支持多种编程语言:C/C++、C#、Go、HTML、Java、Ko

    2024年02月07日
    浏览(36)
  • Spark大数据分析与实战笔记(第二章 Spark基础-04)

    “春风十里,不如你。” 这句来自现代作家安妮宝贝的经典句子,它表达了对他人的赞美与崇拜。每个人都有着不同的闪光点和特长,在这个世界上,不必去羡慕别人的光芒,自己所拥有的价值是独一无二的。每个人都有无限的潜力和能力,只要勇敢展现自己,就能在人生舞

    2024年02月03日
    浏览(53)
  • 自助式数据分析平台:JVS智能BI功能介绍(一)数据源

    数据源概述 数据源是JVS-智能BI支持多种数据形态的基础,核心的目标是将不同的数据来源通过统一接入,实现将不同的数据实现统一的数据加工、数据应用。目前JVS-智能BI主要支持3种形态的数据:数据库、API、离线文件。 ​界面介绍 进入数据源界面,左侧展示的系统中已经

    2024年02月10日
    浏览(35)
  • 【从0开发】百度BML全功能AI开发平台【实操:以部署情感分析模型为例】

    全功能AI开发平台是一个综合性的平台,旨在支持各种人工智能(AI)应用的开发、部署和管理。这些平台通常提供一系列工具、库和服务,以帮助开发者、数据科学家和工程师创建和操作各种类型的AI应用。以下是全功能AI开发平台通常提供的一些功能和特性 : 数据管理:提

    2024年02月07日
    浏览(39)
  • 基于Uniapp、SSM与Vue的微信小程序走失人员报备平台——志愿者功能实现与影响分析

    摘要: 本文旨在探讨基于Uniapp、SSM框架和Vue.js技术的微信小程序走失人员报备平台的开发过程,特别是志愿者功能模块的实现及其对走失人员找回工作的影响。通过该平台,志愿者能够便捷地收集、报备走失人员信息,从而有效助力社会公益事业的发展。文章首先介绍了走失

    2024年04月28日
    浏览(40)
  • 合约广告平台架构演进实践

    作者 | 王悦凯 导读 从事B端业务系统研发多年,不免会有这样的思考:B端系统的技术挑战是什么?什么样的业务架构算好架构?本文结合百度合约广告业务的发展历程,介绍广告投放平台从单体架构到微服务架构演进过程中碰到的问题和思考。希望通过本文的介绍,让大家更

    2024年02月02日
    浏览(29)
  • 智能合约平台开发指南

    随着区块链技术的普及,智能合约平台已经成为了这个领域的一个重要趋势。智能合约可以自动化执行合同条款,大大减少了执行和监督合同条款所需的成本和时间。那么,如何开发一个智能合约平台呢?以下是一些关键步骤。 一、选择合适的区块链平台 智能合约通常运行

    2024年04月14日
    浏览(24)
  • R语言 一种功能强大的数据分析、统计建模 可视化 免费、开源且跨平台 的编程语言

    R语言是一种广泛应用于数据分析、统计建模和可视化的编程语言。它由新西兰奥克兰大学的罗斯·伊哈卡和罗伯特·杰特曼开发,并于1993年首次发布。R语言是一个免费、开源且跨平台的语言,它在统计学和数据科学领域得到了广泛的应用。 R语言具有丰富的数据处理、统计分

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包