協議格式
協議格式
MetaID 協議的標準規範如下:
MetaID 協議標準規範由 7 部分組成,分別是:
<metaid_flag>
固定為“metaid
”,用作協議標識。
必要選項。
<operation>
操作指令,支持 5 種操作指令:
init
,此指令為在鏈上初始化 MetaID,確定 MetaID 樹的根節點。約定 init 所在 PIN 的 ID 即為 MetaID。init 採用先見原則,後者 init 均無效。該指令將忽略後續的部分,後續的 5 個部分均可填默認值。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