Protocol Spec
MetaID Protocol Specification
The MetaID protocol is structured as follows:
The MetaID protocol consists of seven parts:
<metaid_flag>
A fixed value "metaid" used as the protocol identifier.
This is a required field.
<operation>
Operation commands, supporting four types of commands:
create
: Creates content, creating a PIN at the specified path.modify
: Modifies content, modifying the PIN at the specified path.revoke
: Revokes content, declaring the PIN at the specified path as void.hide
: Creates and hides a PIN. After using this command, no PINNumber will be assigned.
This is a required field.
<path>
The path where the PIN is located. There are three modes for indicating the path:
Starting with β/β, the path locates the PIN to be created, such as /protocols/simplebuzz.
Starting with β#β, the path locates the PIN by PINNumber.
Starting with β@β, the path locates the PIN by PINID.
This is a required field.
<encryption>
The encryption method for the PIN content. 0 means no encryption; 1 means ECIES encryption; 2 means ECDH encryption.
This is an optional field. If not provided, it must use OP_0
as a placeholder, with a default value of 0
.
<version>
The version number of the PIN. Different version numbers may imply different formats for the payload content.
This is an optional field. If not provided, it must use OP_0
as a placeholder, with a default value of 0
.
<content-type>
Specifies the file format of the payload
, including the encoding method of the payload
.
All media types can be referenced from: https://www.iana.org/assignments/media-types/media-types.xhtml
This is an optional field. If not provided, it must use OP_0
as a placeholder, with a default value of application/json
.
<payload>
The payload
is arbitrary data content, with its format specified by <content-type>. The MetaID protocol does not limit the length of the payload
. It is only constrained by the size of a single transaction data on the blockchain where the PIN is located.
This is an optional field. If not provided, it must use OP_0
as a placeholder.
Last updated