协议格式

协议格式

MetaID协议的标准规范如下

<metaid_flag> 
<operation> 
<path> 
<encryption> 
<version>  
<content-type> 
<payload> 

MetaID 协议标准规范由7部分组成,分别是:

<metaid_flag>

固定为“metaid”,用作协议标识。

必要选项。

<operation>

操作指令,支持5种操作指令

  • init,此指令为在链上初始化MetaID,确定MetaID树的根节点。约定init所在PIN的ID即为MetaID。init采用先见原则,后者init均无效。该指令将忽略后续的part,后续的5个part均可填默认值。

  • create 创建内容,在path指定的路径上创建PIN

  • modify 修改内容,对path指定路径的PIN进行修改

  • revoke 作废内容,对path指定路径的PIN声明作废

  • hide 创建并隐藏PIN, 使用该指令后,将不分配 PINNumber

必要选项。

<path>

PIN所在的路径。表示path有三种模式,如下

  • “/” 开头,通过路径定位需创建的PIN,如/protocols/simplebuzz

  • “#”开头,通过PINNumber定位PIN

  • “@”开头,通过PINID定位的PIN

必要选项。

<encryption>

针对PIN内容的加密方式。0 为不加密;1 为ECIES加密;2为ECDH加密。

非必选项,若不传必须默认使用OP_0占位,默认为0

<version>

PIN的版本号。不同版本号意味着payload内容的格式可能不相同。

非必选项,若不传必须默认使用OP_0占位,默认为0

<content-type>

约定payload的文件格式,包含了payload的编码方式。

所有的媒体类型可参考:https://www.iana.org/assignments/media-types/media-types.xhtml

非必选项,若不传必须默认使用OP_0占位,默认值为application/json

<payload>

payload为任意数据内容,其数据格式由<content-type>规定。MetaID 协议对payload 长度没限制。只应受该 PIN 所在区块链的单条交易数据大小约束。

非必选项,若不传必须默认使用OP_0占位。

Last updated