Как выбрать источник 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