Proveniencia

El propietario de una inscripción puede crear inscripciones hijos (secundarias), estableciendo proveniencia en cadena que indica que esta fue creada por el propietario de la inscripción padre. Esto se puede utilizar para colecciones, donde las inscripciones hijos de una inscripción padre son miembros de la misma colección.

Las inscripciones hijos pueden tener a su vez sus propias inscripciones hijos, lo que permite jerarquías complejas. Por ejemplo, un artista podría crear una inscripción representándose a sí mismo, con subinscripciones que representan las colecciones que vaya a crear, y que las inscripciones hijos de esas subinscripciones sean elementos de esas colecciones.

Especificación

Para crear una inscripción hijo H con una inscripción padre P:

  • Crear una transacción de inscripción T para crear H.
  • Gastar la inscripción principal P en una de las entradas de T.
  • Agregar a H etiqueta 3, es decir, OP_PUSH 3, con el valor del ID de la inscripción binaria serializada de P, serializado con un TXID de 32 bytes, seguido por el INDEX de cuatro bytes en formato little-endian, omitiendo los ceros del final.

NB Los bytes del ID de una transacción de Bitcoin están invertidos en su representación textual, por lo que el ID de transacción serializada estará en el orden opuesto.

Ejemplo

Ejemplo de una inscripción hijo 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 "Hola, mundo!"
OP_ENDIF

Ten en cuenta que el valor de la etiqueta 3 es en formato binario, y no hexadecimal, y 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0 debe ser utilizado como una de las entradas de la transacción de inscripción para que la inscripción sea reconocida como una inscripción hijo.

Ejemplo de codificación del ID de inscripción 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
  …
OP_ENDIF

Y de este ID de inscripción 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
  …
OP_ENDIF

Notas

La etiqueta 3 es utilizada ya que es la primera etiqueta impar disponible. Etiquetas impares que no son reconocidas no causaran que una inscripción se desvincule, por lo que las inscripciones segundarias serían reconocidas y rastreadas por las versiones antiguas de ord.

Una colección puede cerrarse quemando la inscripción principal de la colección, lo que garantiza que no se puedan emitir más elementos en la colección.

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