以下为 MIN 标准的 NFT 的 Json Schema :

{
    "issuer": {
        "type": "string",
        "description": "NFTs 的发行方唯一标识"
    },
    "id": {
        "type": "string",
        "description": "NFT 在发行方中的唯一标识"
    },
    "owner": {
        "type": "string",
        "description": "NFT 的所有权,它可以是一个合约地址"
    },
    "vest": {
        "type": "string",
        "description": "归属于另一个 NFT"
    },
    "metadata": {
        "type": "string",
        "description": "描述性资源地址,HTTP(s) / IPFS URI 等"
    },
    "protocol": {
        "type": "string",
        "description": "该 NFT 采用的协议,格式为 协议名称:协议合约地址,地址可省略"
    },
    "properties": {
        "type": "array",
        "description": "NFT 的属性集",
        "items": {
            "type": "object",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "属性名称"
                },
                "data": {
                    "type": "integer" | "string" | "array",
                    "description": "属性的值"
                },
                "slot": {
                    "type": "array",
                    "description": "插槽,可插入另一个 NFT",
                    "items": {
                        "$ref": "#"
                    }
                }
            },
        }
    }
}

issuer

发行方标识,这应该是一个合约地址。

metadata

应该尽可能地使用 metadata 来存储数据,它有一个 MIM 通用标准,同时具备扩展性,以满足不同协议的数据需求。

protocol

权利

owner

owner 表示 NFT 的所有者,但不代表该所有权用户真正拥有管理权。仅在下面几种情况下owner才具备管理权:

vest

归属代表了该 NFT 的上一级 NFT , A 的归属为 B,则可能为以下两种场景:

vest 给 NFT 带来更多的灵活性,例如在一块土地上的广告牌 NFT ,它本身并不属于土地不可分割的一部分,也不属于土地的本质,我们不能将其设计进属性中,

author

NFT 的原始作者,应该是一个地址,且应当是不可变的。