Provenance

De eigenaar van een inscriptie kan kindinscripties maken, waarmee op een betrouwbare manier de herkomst van die kinderen on-chain wordt vastgesteld als zijnde gemaakt door de eigenaar van de ouderinscriptie. Dit kan worden gebruikt voor collecties, waarbij de kinderen van een ouderinscriptie leden van dezelfde collectie zijn.

Kinderen kunnen zelf ook weer kinderen hebben, waardoor complexe hiërarchieën mogelijk worden. Bijvoorbeeld, een artiest kan een inscriptie maken die zichzelf vertegenwoordigt, met sub-inscripties die collecties vertegenwoordigen die ze maken, waarbij de kinderen van die sub-inscripties items in die collecties zijn.

Specificatie

Om een kindinscriptie C te maken met ouderinscriptie P:

  • Maak een inscriptietransactie T aan zoals gebruikelijk voor C.
  • Besteed de ouderinscriptie P in een van de invoeren van T.
  • Voeg tag 3 toe, d.w.z. OP_PUSH 3, aan C, met de waarde van de geserialiseerde binaire inscriptie-ID van P, geserialiseerd als de 32-byte TXID, gevolgd door de vier-byte little-endian INDEX, waarbij de nullen aan het einde worden weggelaten.

NB De bytes van een Bitcoin-transactie-ID zijn omgekeerd in hun tekstuele weergave, zodat de geserialiseerde transactie-ID in de tegenovergestelde volgorde zal zijn.

Voorbeeld

Een voorbeeld van een kindinscriptie van 00102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0:

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

Let op dat de waarde van tag 3 binair is, niet hexadecimaal, en dat om de kindinscriptie als kind te laten herkennen, 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0 moet worden besteed als een van de invoeren van de inscriptietransactie.

Voorbeeldcodering van inscriptie-ID: 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
  …
OP_ENDIF

En van inscriptie-ID 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
  …
OP_ENDIF

Notities

De tag 3 wordt gebruikt omdat het de eerste beschikbare oneven tag is. Niet-herkende oneven tags maken een inscriptie niet onbeheerd, zodat kindinscripties herkend en gevolgd zouden worden door oude versies van ord.

Een collectie kan worden gesloten door de ouderinscriptie van de collectie te verbranden, wat garandeert dat er geen verdere items aan de collectie kunnen worden toegevoegd.

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