協議格式

協議格式

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 均無效。該指令將忽略後續的部分,後續的 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