Как различить txid и wtxid при декодировании Bitcoin-транзакции

В журнале легко сохранить хеш транзакции со свидетелем там, где API ожидает обычный идентификатор. Оба значения выглядят как 64 шестнадцатеричных символа.

Декодируйте транзакцию со свидетелем

Передайте в RAW полную сериализованную транзакцию. Декодер вернёт оба идентификатора, даже если транзакция ещё не попала в блок или мемпул этой ноды.

bitcoin-cli decoderawtransaction "$RAW" | jq '{txid, wtxid: .hash, size, vsize, weight}'

Заведите отдельные поля для идентификаторов

Поле hash учитывает данные свидетеля, когда они присутствуют. На выходы транзакции ссылаются через txid. Без свидетеля значения совпадают, поэтому тесты только на старых транзакциях могут скрыть ошибку сопоставления. Добавьте в интеграционную проверку образец с непустыми данными свидетеля.

bitcoincore.org decoderawtransaction