Провенанс

Владелец надписи может создавать дочерние надписи, не сомневаясь в том, что эти дочерние on-chain надписи были созданы владельцем родительской надписи. Это может быть использовано для коллекций, когда дочерние надписи от родительской надписи являются членами одной коллекции.

Дети могут создавать дочерние элементы, что позволяет создавать комплексные иерархии. Например, художник может создать надпись, представляющую его самого, с вложенными надписями, представляющими созданные им коллекции, а дочерними элементами этих sub надписей являются предметы этих коллекций.

Описание

Чтобы создать child надпись C с parent надписью P:

  • Создайте транзакцию надписи T, как обычно, для C.
  • Проведите parent P по одному из входов T.
  • Включите в C тег 3, т.е. OP_PUSH 3, со значением сериализованного двоичного ID надписи P, сериализованного как 32-байтовый TXID, за которым следует четырехбайтовый little-endian INDEX, с опущенными задними нулями.

NB В текстовом представлении байты ID транзакции биткоина расположены в обратном порядке, поэтому сериализованные ID транзакции будут расположены в обратном порядке.

Пример

Пример child надписи из 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

Заметим, что значение метки 3 двоичное, а не шестнадцатеричное, и что для того, чтобы надпись была признана детской, 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi0 должен быть потрачен как один из входов inscribe транзакции.

Пример кодировки ID надписи 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi255:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100ff
  …
OP_ENDIF

И ID надписи 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1fi256:

OP_FALSE
OP_IF
  …
  OP_PUSH 3
  OP_PUSH 0x1f1e1d1c1b1a191817161514131211100f0e0d0c0b0a090807060504030201000001
  …
OP_ENDIF

Примечаниe

Метка 3 используется потому что это первая доступная нечетная метка. Нераспознанные нечетные метки не делают надпись несвязанной, поэтому дочерние надписи будут распознаваться и отслеживаться старыми версиями ord.

Коллекция может быть закрыта путем сжигания родительской надписи коллекции, что гарантирует, что больше ни один предмет коллекции не может быть выпущен.

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