Как выбрать источник datum при расходовании скриптового выхода Cardano

Два выхода могут ссылаться на одинаковый Plutus datum разными способами. Перед сборкой свидетелей транзакции проверьте способ представления datum в конкретном выходе.

Различайте хеш и встроенное значение

В примере X фиксирует только H. Если валидатору нужен datum, найдите D, сверьте его хеш по правилам реестра с H и добавьте нужный свидетель. Выход Y уже содержит D для чтения и расходования.

output X: datum hash H
output Y: inline datum D, where hash(D) = H

Сохраняйте исходную структуру Plutus data при декодировании. Человекочитаемый JSON может стереть различия конструкторов или байтовых строк и дать другой хеш при восстановлении.

Учтите язык скрипта и размер выхода

Встроенный datum увеличивает размер выхода и влияет на его минимальное количество lovelace. До сочетания таких выходов со старыми версиями скриптов проверьте совместимость языка Plutus и правила эры. cips.cardano.org Cardano CIP-32