码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • EIP-3664合约研究笔记06--text功能分析


    在 ERC3664.sol 中,存在着_texts数据,本文分析来龙去脉和用途。
    // attrId => tokenId => text
    mapping(uint256 => mapping(uint256 => bytes)) public _texts;
    在claim铸造NFT时,内部会添加属性,会设置属性的text:
    在 Metacore.sol  claim( name)    输入参数name=“metacore"
         attach(_curTokenId, METANAME, 1, bytes(name), true);
             if (text.length > 0) {
                _texts[attrId][tokenId] = text;    // 实际上_texts[1][1] = "metacore"
             }
    读取text
    function textOf(uint256 tokenId, uint256 attrId) public view virtual override  
    returns (bytes memory) {
            return _texts[attrId][tokenId];
    }
    这个textof函数是 IERC3664.sol接口规定的方法,必须予以实现。
    在读取属性时会调用textof,得到属性的text信息
    getAttributes()
        data = abi.encodePacked(
                    '{"trait_type":"',
                    symbol(id),
                    '","value":"',
                    textOf(tokenId, id),
                    '"}'
                );
    Metacore.sol 示例:
    "attributes":[
            {
                "trait_type":"Metaname",
                "value":"metacore"
            },
            {
                "trait_type":"Legoot V2",
                "value":"1"
            },
            {
                "trait_type":"SYNTHETIC",
                "value":"true"
            }
        ]
    Legoot.sol合约示例:
    "attributes":[
            {
                "trait_type":"WEAPON NAME",
                "value":"Quarterstaff"
            },
            {
                "trait_type":"WEAPON ID",
                "value":"8001"
            },
            {
                "trait_type":"CHEST NAME",
                "value":"Silk Robe"
            },
            {
                "trait_type":"CHEST ID",
                "value":"8002"
            },
    【总结】
    感觉是为属性设置了一个名称字符串,用于输出属性信息。
  • 相关阅读:
    67基于matlab图像处理,包括颜色和亮度调整、翻转功能、空间滤波和去噪、频域滤波和去噪、噪声添加,形态学操作、边缘检测及示波器集成的GUI图像处理。
    数据结构--》解锁数据结构中树与二叉树的奥秘(二)
    【分享】MySQL安装、配置环境、创建数据库的方法
    酷开科技逐步为用户构建健全的智慧家庭生活场景
    Netron【.pt转.onnx模型展示】
    “数聚瑞安 · 创新未来”中国·瑞安第四届创新创业大赛角逐火热,初赛结果已公布!
    Linux内存管理(二十 六):slub分配器之kmalloc详解
    LeetCode【155】最小栈
    EasyClick java插件项目和混合工程未找到编译后的目录
    [附源码]Python计算机毕业设计高校餐厅评价系统
  • 原文地址:https://blog.csdn.net/u012084827/article/details/127119193
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号