Шаг 1: Следуйте учебник OP_RETURN, пока вы не дойдете до той части, где вы делаете вывод OP_RETURN. (Как и все остальное то же самое)
Шаг 2: Подготовьте свой хэш. (Так понять, что вы хэш, хэш, и получить хэш в шестнадцатеричном виде)
Шаг 3: Создание вывода следующим образом:
23 // число 35 в шестнадцатеричной ... это означает "Получаемый скрипт IS 35 Всего байт"
a8 // Это OP для OP_SHA256 .... не путать с OP_HASH256 (который 2 sha256s подряд)
20 // число 32 в шестигранных ... средство "PUSH 32 байт в стеке"
931d236179670b00348f87bea4199fe18297f0ef26da02c7542bd54d5b7836d8 // Мой SHA256 хэш секрет, мне нужно будет выкупить его.
87 // Это OP_EQUAL
Кроме того, один примечание: scriptlen в формате VarInt
https://en.bitcoin.it/wiki/Protocol_specification#Variable_length_integerТем не менее, pushdata внутри фактического сценария в формате PUSHDATA OP:
(До 75 байт только это число в шестнадцатеричном, выше, что вам нужно добавить байты до длины и представить его в небольшом количестве Endian многобайтового целого числа.)
https://en.bitcoin.it/wiki/Script#ConstantsВот как искупить:
Мой секрет был бред:
adfladsfhuifo8ry8fh4u4et4e5tsg415et458s43etg41s35e4g3541r35g143sg54s385g41s535e1g435s4g;:., [@ snrltgnjslenjrgklsnleignilsnklgnslnglk
Но мне это нужно в шестнадцатеричном формате, поэтому я конвертировать каждый байт ASCII заколдовать, чтобы получить:
6164666c61647366687569666f38727938666834753465743465357473673431356574343538733433657467343173333565346733353431723335673134337367353473333835673431733533356531673433357334673b2e3a3b2c5b40736e726c74676e6a736c656e6a72676b6c736e6c6569676e696c736e6b6c676e736c6e676c6b
Это общая 132 байт.
Так что мой входной скрипт, который тратит на выходе будет:
86 // Этого сценария ввода длиной 134 байт ... VarInt один байты до к.
4c84 // 4с "следующий байт является PUSHDATA байт .... 84 "132" в шестнадцатеричном ...
6164666c61647366687569666f38727938666834753465743465357473673431356574343538733433657467343173333565346733353431723335673134337367353473333835673431733533356531673433357334673b2e3a3b2c5b40736e726c74676e6a736c656e6a72676b6c736e6c6569676e696c736e6b6c676e736c6e676c6b // Мой секрет