Procedência

O proprietário de uma inscrição pode criar inscrições filhas, estabelecendo, sem confiança, a procedência dessas crianças na cadeia como tendo sido criadas pelo proprietário da inscrição pai. Isso pode ser usado para coleções, com os filhos de uma inscrição pai sendo membros da mesma coleção.

As próprias crianças podem ter filhos, permitindo hierarquias complexas. Por exemplo, um artista pode criar uma inscrição representando a si mesmo, com subinscrições representando coleções que ele cria, sendo os filhos dessas subinscrições itens daquelas coleções.

Especificações

Para criar uma inscrição filha C com inscrição pai P:

  • Crie uma transação de inscrição T como de costume para C.
  • Gaste o pai P em uma das entradas de T.
  • Inclua a tag 3, ou seja, OP_PUSH 3, em C, com o valor do ID binário serializado da inscrição P, serializado como o TXID de 32 bytes, seguido pelo INDEX de quatro bytes em formato little-endian, omitindo zeros à direita.

NB Os bytes de uma ID de transação bitcoin são invertidos em sua representação de texto, portanto, a ID serializada da transação estará na ordem oposta.

Exemplo

Um exemplo de uma inscrição filha de 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

Observe que o valor da tag 3 é binário, não hexadecimal, e que para que a inscrição filha seja reconhecida como filha, 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0 deve ser gasta como uma das entradas da transação de inscrição.

Exemplo de codificação da ID de inscrição 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
  …
OP_ENDIF

E da ID da inscrição 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
  …
OP_ENDIF

Notas

A tag 3 é usada porque é a primeira tag ímpar disponível. Tags ímpares não reconhecidas não desvinculam uma inscrição, portanto, inscrições filhas seriam reconhecidas e rastreadas por versões antigas de ord.

Uma coleção pode ser encerrada queimando a inscrição-pai da coleção, o que garante que nenhum outro item poderá ser emitido na coleção.

See examples for on-chain examples of inscriptions that feature this functionality.