Как сравнить идентификатор транзакции Kaspa v0 до и после подписи

При вычислении идентификатора версии 0 Kaspa пропускает скрипты подписей входов. На фиксированном примере можно различить ID и хеш всех подписанных байтов.

Меняйте по одному полю

Соберите новую транзакцию версии 0, вычислите её ID реализацией консенсуса и подготовьте подписанный вариант с теми же входами, выходами, временем блокировки и нагрузкой. Сравните ID после добавления скрипта подписи. Затем измените сумму выхода: теперь ID должен поменяться.

v0 draft D → attach input signature script → signed S
id(D) = id(S) if only the signature script changed

Отдельно проверьте подписанный артефакт

Совпадающий ID не проверяет подпись и не доказывает приём транзакции узлом. Сохраните подписанные байты для воспроизведения и проверьте скрипт перед отправкой. Для новых форматов выбирайте алгоритм по версии транзакции: этот пример относится именно к версии 0.

Источники