неизвестный сценарий вывода в образце pcap-файла биткойн

Я начинаю работать над биткойн-протоколом для извлечения выходных адресов из скриптов в структурах tx. Теперь он может создать некоторый действительный биткойн-адрес, но некоторые скрипты не знакомы в списках op_code, представленных в биткойн-вики (скрипт).

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

410498361908359fec5adaa624428484e7d117f36f811c7c471f4f1c7dd8184c20b32f0e2590c8d70906ebd585da2ae14ea942e4088891139379b434a26173754750ac

и нет op_code со 0x41значением.

кто-нибудь может объяснить это дело?

в дополнение к ответу Рагава описание кодов операций можно найти здесь: en.bitcoin.it/wiki/Script

Ответы (1)

От 0x01 до 0x4b — коды операций «push». То есть, какой бы код операции вы ни использовали, столько байтов помещается в стек. Это делает ваш скрипт:

PUSH(0x41) 0498361908359fec5adaa624428484e7d117f36f811c7c471f4f1c7dd8184c20b32f0e2590c8d70906ebd585da2ae14ea942e4088891139379b434a26173754750 ac

0x41 — это 65 в десятичном виде, что соответствует длине несжатого открытого ключа. Последний байт, 0xAC, это OP_CHECKSIG.

Короче говоря, это сценарий Pay-to-pubkey (p2pk), который был распространен на заре существования Биткойна. Действительно, это приводит к 1MeeajrKNiF8WtD24S4DmVwEPQYJxeh7Ef , содержащему монетную базу Биткойн из блока 93641.

Биткойн также имеет decodescriptметод, который вы можете использовать через RPC или bitcoin-cli для декодирования этих скриптов в коды операций и адреса (если для этого скрипта существует адрес)

Спасибо. именно я хочу извлечь необработанный скрипт, чтобы получить выходной адрес. но с этим сценарием сгенерированный адрес не соответствует действительности. мой новый вопрос, связанный с этим вопросом, находится здесь: bitcoin.stackexchange.com/questions/74501/…