溯源

铭文的所有者可以创建子铭文,在链上信任地建立这些子铭文的源头,证明它们是由父铭文的所有者创建的。这可以用于收藏品,父铭文的子铭文属于同一收藏系列。

子铭文自己也可以有子铭文,从而形成复杂的层级结构。例如,一位艺术家可能创建一个代表自己的铭文,子铭文代表他们创建的合辑,而那些子铭文的子项就是合辑中的项目。

规范

为父系铭文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.