MetaID 信封格式

信封格式

MetaID内容完全在链上的,MetaID信封格式在当前 V2 版本中支持两种方案:

1.Taproot-Script:

通过利用 Taproot-Script的“commit/reveal”方案,在输入的Taproot脚本中,放置 MetaID 信封,其中包含可以在 MetaID 上合法执行的各种操作,约定是使用OP_FALSE OP_IF ... OP_ENDIF将任意不可执行的内容放置在Taproot支出脚本中。我们使用“ metaid ”字节(6D6574616964十六进制)来标识该信封为MetaID协议。

Taproot-Script的Envelope方式:

OP_FALSE
OP_IF
	<metaid_flag>
	<operation>
	<path>
	<encryption>
	<version>
	<content-type>
	<payload>
OP_ENDIF

2.Locking-Script:

通过利用OpReturn操作码,将数据放在其后,在交易输出的Locking-Script中,放置MetaID信封,其中包含可以在 MetaID 上合法执行的各种操作,约定是使用 OP_RETURN 将任意不可执行的内容放置在锁定输出脚本中。我们使用“ metaid ”字节(6D6574616964十六进制)来指示该信封属于MetaID协议。

Locking-Script的Envelope方式:

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

信封必须出现在输出脚本中的OP_RETURN之后,且在output的index为1的位置,index为0的utxo的第一个satoshi则是用来承载信封的内容。

注意:如果同一交易同时存在Taproot-Script和Data-script两种信封格式,以Taproot-Script的方式为主

Last updated