Пример биткойн-скрипта

Есть ли хороший пример того, как обработать базовый скрипт tx и получить адрес получателя из необработанной транзакции?

Ответы (1)

В выводе есть поле "scriptPubKey", которое для стандартной транзакции выглядит так:

OP_DUP OP_HASH160 62e907b15cbf27d5425399ebf6f0fb50ebb88f18 OP_EQUALVERIFY OP_CHECKSIG

Шестнадцатеричный номер — это то, из чего вы получаете адрес; это результат шага №3 в https://en.bitcoin.it/wiki/Technical_background_of_Bitcoin_addresses . Чтобы получить адрес, продолжите процесс в этом примере. (Хотя, возможно, самая сложная часть — вычисление Base58Check , для которого пример не приводится.)

Также актуален https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address .

Хм, ничего похожего на использование вики-записи, которую я написал против себя ;) (первой). И база 58 не большая проблема, она уже запрограммирована некоторое время назад.
Сценарий изменился со времен Genesis Block? У меня возникли проблемы с выяснением того, как обработать этот scriptPubKey из этого блока: 4104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE55D1BAC21AA4C8D55
Эта транзакция использует тип en.bitcoin.it/wiki/… . В нем у вас есть сам открытый ключ перед любым хешированием (шаг №1). Открытый ключ в блоке генезиса — 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c1015b6bf.
Это тот же публичный ключ, но с добавленными с обеих сторон кодами операций — слева помещается 0x41 байт, а справа — контрольная цифра. Итак, это необработанный дамп scriptpubkey с en.bitcoin.it/wiki/Genesis_block.