Metadati
Le iscrizioni possono contenere metadati CBOR, memorizzati come push di dati in campi con tag 5. Poiché i data push sono limitati a 520 byte, i metadati più lunghi di 520 byte devono essere suddivisi in più campi con tag 5, che saranno poi concatenati prima della decodifica.
I metadata sono facili da leggere per l'uomo e tutti i metadata saranno visualizzati dall'utente con la loro iscrizione. Coloro che iscrivono sono incoraggiati a considerare il modo in cui i metadati saranno visualizzati e a renderli concisi e attraenti.
I metadati sono renderizzati in HTML per la visualizzazione come segue:
- null,- true,- false, numbers, floats, e strings vengono renderizzate come testo normale.
- Le stringhe di byte vengono rese come esadecimali maiuscole.
- Gli array sono resi come tag <ul>, con ogni elemento avvolto dai tag<li>.
- Le mappe sono rese come  <dl>tags, con ogni chiave racchiusa in tag<dt>e ogni valore racchiuso in tag<dd>.
- I tag sono resi come il tag , racchiuso in un tag <sup>, seguito dal valore.
CBOR è una specifica complessa con molti tipi di dati diversi e molteplici modi di rappresentare gli stessi dati. I tipi di dati esotici, come i tag, floats e bignums, e le codifiche come i valori indefiniti, potrebbero non essere visualizzati correttamente o affatto. Sono benvenuti i contributi ad ord per porre rimedio a questo problema.
Esempio
Poiché il CBOR non è leggibile dall'uomo, in questi esempi è rappresentato come JSON. Si tenga presente che questo è solo per questi esempi e che i metadati JSON non saranno visualizzati correttamente.
I metadati {"foo":"bar","baz":[null,true,false,0]} verrebbero inclusi in un'iscrizione come:
OP_FALSE
OP_IF
    ...
    OP_PUSH 0x05 OP_PUSH '{"foo":"bar","baz":[null,true,false,0]}'
    ...
OP_ENDIF
E renderizzati come:
<dl>
  ...
  <dt>metadata</dt>
  <dd>
    <dl>
      <dt>foo</dt>
      <dd>bar</dd>
      <dt>baz</dt>
      <dd>
        <ul>
          <li>null</li>
          <li>true</li>
          <li>false</li>
          <li>0</li>
        </ul>
      </dd>
    </dl>
  </dd>
  ...
</dl>
I metadati di lunghezza superiore a 520 byte devono essere suddivisi in più campi:
OP_FALSE
OP_IF
    ...
    OP_PUSH 0x05 OP_PUSH '{"very":"long","metadata":'
    OP_PUSH 0x05 OP_PUSH '"is","finally":"done"}'
    ...
OP_ENDIF
Which would then be concatenated into {"very":"long","metadata":"is","finally":"done"}.
See examples for on-chain examples of inscriptions that feature this functionality.