溯源
铭文的所有者可以创建子铭文,在链上信任地建立这些子铭文的源头,证明它们是由父铭文的所有者创建的。这可以用于收藏品,父铭文的子铭文属于同一收藏系列。
子铭文自己也可以有子铭文,从而形成复杂的层级结构。例如,一位艺术家可能创建一个代表自己的铭文,子铭文代表他们创建的合辑,而那些子铭文的子项就是合辑中的项目。
规范
为父系铭文P创建一个子铭文C:
- 像通常一样为C创建常用的铭刻交易T。
- 在其中的一个T输入中加入父系铭文P
- 在C中包含标签
3
,即OP_PUSH 3
,其值为P的序列化二进制铭文ID序列化为32字节的TXID
,后跟四字节的小端INDEX
,不含末尾的零。
请注意,比特币交易ID的字节在文本中的表现形式是反向的,所以序列化的交易ID会以相反的顺序呈现。
示例
子铭文的一个示例 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0
:
OP_FALSE
OP_IF
OP_PUSH "ord"
OP_PUSH 1
OP_PUSH "text/plain;charset=utf-8"
OP_PUSH 3
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100
OP_PUSH 0
OP_PUSH "Hello, world!"
OP_ENDIF
请注意,标签3
的值是二进制的,而不是十六进制的,主要是为了让子铭文识别出来是个子铭文,000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0
必须作为铭文交易的输入之一
铭文ID的编码示例 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255
:
OP_FALSE
OP_IF
…
OP_PUSH 3
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
…
OP_ENDIF
以及铭文 ID 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256
:
OP_FALSE
OP_IF
…
OP_PUSH 3
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
…
OP_ENDIF
注释
标签 3
被使用是因为它是第一个可用的奇数标签。未识别的奇数标签不会使铭文无法进行绑定,因此,旧版本的ord仍可以识别和追踪子铭文。
通过销毁集合的父铭文,可以关闭一个集合,这保证了该集合中不能再发行更多的项目。
See examples for on-chain examples of inscriptions that feature this functionality.