Provenienza
Il proprietario di un'iscrizione può creare iscrizioni figlie (child), stabilendo in modo affidabile la provenienza di queste ultime on-chain come se fossero state create dal proprietario dell'iscrizione madre (parent). Questo può essere utilizzato per le collezioni, dove i figli di un'iscrizione madre sono membri della stessa collezione.
I figli possono avere a loro volta dei figli, consentendo di creare gerarchie complesse. Ad esempio, un artista potrebbe creare un'iscrizione che rappresenta se stesso, con sotto-iscrizioni che rappresentano le collezioni da lui create, e i figli di queste sotto-iscrizioni sono elementi di tali collezioni.
Specifiche
Per creare un'iscrizione child C con un'iscrizione parent P:
- Creare una transazione di iscrizione T come di consueto per C.
- Spendere il genitore P in uno degli ingressi di T.
- Includere il tag
3
, cioèOP_PUSH 3
, in C, con il valore dell'ID binario serializzato dell'iscrizione P, serializzato comeTXID
a 32 byte, seguito dal little-endianINDEX
a quattro byte, con gli zeri finali omessi.
NB I byte dell'ID di una transazione bitcoin sono invertiti nella loro rappresentazione testuale, quindi l'ID della transazione serializzato sarà nell'ordine opposto.
Esempio
Un esempio di un iscrizione figlia di 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
Si noti che il valore del tag 3
è binario, non esadecimale, e che affinché l'iscrizione del figlio sia riconosciuta come tale, 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0
deve essere speso come uno degli input della transazione d'iscrizione.
Esempio di codifica dell'ID iscrizione 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255
:
OP_FALSE
OP_IF
…
OP_PUSH 3
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
…
OP_ENDIF
E dell'ID di iscrizione 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256
:
OP_FALSE
OP_IF
…
OP_PUSH 3
OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
…
OP_ENDIF
Note
L'etichetta 3
viene utilizzata perché è la prima etichetta dispari disponibile. Le etichette dispari non riconosciute non rendono un'iscrizione non vincolata, quindi le iscrizioni figlie verrebbero riconosciute e tracciate dalle vecchie versioni di ord
.
Una collezione può essere chiusa bruciando l'iscrizione madre della collezione, il che garantisce che non possano essere emessi altri elementi della collezione.
See examples for on-chain examples of inscriptions that feature this functionality.