Как проверить все выходы Bitcoin PSBT перед подписью

Платёж может содержать несколько получателей и сдачу. Декодирование неподписанной транзакции позволяет сверить реальные скрипты и суммы с заданием на платёж.

Извлеките выходы без подписи

Запишите в PSBT пакет координатора в формате base64. Выведите индекс каждого выхода и шестнадцатеричный скрипт. Для некоторых типов скриптов адресное представление отсутствует.

bitcoin-cli decodepsbt "$PSBT" | jq '.tx.vout[] | {n, value, script: .scriptPubKey.hex, address: .scriptPubKey.address}'

Установите назначение каждого выхода

Сопоставьте суммы в BTC с утверждённым платежом. Заявленный выход сдачи проверьте через нужный кошелёк или устройство подписи. Порядок выходов выбирает сборщик: предположение, что последний выход всегда сдача, может скрыть ошибку получателя. До подписи выясните назначение каждого неизвестного выхода.

bitcoincore.org decodepsbt · bitcoincore.org getaddressinfo