30 декабря 2011, 8:47:16 PM   # 1
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я в настоящее время приступил к реализации сценариев в моем коде клиента Bitcoin. Так как я не могу найти слишком много данных об интересных модульных тестах для различных сценариев опкодов, я решил поставить эту тему вверх для любого интересных в сотрудничестве по этому вопросу.

Некоторые простые тесты я создал до сих пор:

Код:
0x01, 0x00, 0x01, 0x01, op _ max, OP_1
01000101A451
0101

OP_0, OP_1, OP_2, OP_3, OP_4, OP_5, OP_6, OP_7, OP_8, OP_9, OP_10, OP_11, OP_12, OP_13, OP_14, OP_15, OP_16, OP_DEPTH
005152535455565758595A5B5C5D5E5F6074
0102030405060708090A0B0C0D0E0F1011

OP_NOP, OP_NOP1, OP_NOP2, OP_NOP3, OP_NOP4, OP_NOP5, OP_NOP6, OP_NOP7, OP_NOP8, OP_NOP9, OP_NOP10, OP_DEPTH
61B0B1B2B3B4B5B6B7B8B974
00

OP_1, OP_DUP, OP_1, OP_2, OP_NIP, OP_1, OP_2, OP_OVER, OP_1, OP_2, OP_3, OP_ROT, OP_1, OP_2, OP_SWAP, OP_1, OP_2, OP_TUCK, OP_1, OP_2, OP_2DROP, OP_1, OP_DROP, OP_1, OP_2, OP_2DUP, OP_1, OP_2, OP_3, OP_3DUP, OP_1, OP_2, OP_3, OP_4, OP_2OVER, OP_1, OP_2, OP_3, OP_4, OP_5, OP_6, OP_2ROT, OP_1, OP_2, OP_3, OP_4, OP_2SWAP
51765152775152785152537B51527C51527D51526D517551526E5152536F5152535470515253545556715152535472
01010201020102030102010201020102010201020301020301020304010203040506010203040102

формат:
котировка
Читаемые опкоды по их имени
Hash представление всего ввода
Hash представление продукции, со всеми деталями, оставшиеся в стеке быть сцеплены

Любой интересный в создании и тестировании более модульных тестов вместе?
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu


Как заработать Биткоины?
Без вложений. Не майнинг.


31 декабря 2011, 2:01:17 PM   # 2
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

Получил 1806 Биткоинов
Реальная история.





Пару месяцев назад, я извлек все нестандартные сценарии в testnet blockchain. Там какие-то довольно интересные из них:

https://gist.github.com/1329788

Тем не менее, нет никакой гарантии, что каждый TxOut является расходуемым, так, только те, которые имеют соответствующая TxIn сценарии расходование TxOuts следует использовать. К счастью, если это не-станд TxOut скрипт, там, как правило, не станд TxIn скрипт, чтобы провести его, таким образом, они оба должны быть в этом списке. Так TxHashes перечислены вы можете сделать поиск для сопоставления сценариев ...

Из них я выделил три для мой юнит-тесты (в Оружейной палате):

https://gist.github.com/1421550

Это полное состояние отладки на каждом шаге в 2-х из-2 и 2-в-3 (с адр-проверки, но не OP_CHECKMULTISIG) и еще 2-х из-3, что делает адр-проверки и использования OP_CHECKMULTISIG. Мало того, что они делают хорошие модульные тесты, но отладка состояние отлично подходит для видя, как эти сценарии на самом деле работают. 

Имейте в виду, эти мульти-сиг TXS не являются "стандарт" типы мульти-сиг, что будет в следующих версиях клиента, но они подчеркнут ваш обработчик сценариев, и они правильны, так как они были приняты клиентом Satoshi на Testnet.

-Eto
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

1 января 2012, 1:39:01 AM   # 3
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

Хм, те отвалы от нескольких сигов полный или сокращенный? Так как вы, кажется, называть checksig на "30460221 047cf315", Что сделало бы один из них открытого ключа. Разве не те, должно быть больше?
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu

1 января 2012, 1:45:49 AM   # 4
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

Хм, те отвалы от нескольких сигов полный или сокращенный? Так как вы, кажется, называть checksig на "30460221 047cf315", Что сделало бы один из них открытого ключа. Разве не те, должно быть больше?

К сожалению, они сокращены, чтобы сделать его доступным для чтения, и они являются уникальными, так что нет никакой двусмысленности. Отладочные состояния были предназначены только быть осмотрен глаза, чтобы убедиться, что процессор скрипт делает правильно. Если вы хотите запустить те тесты самостоятельно, вы можете захватить TxHash из верхней части отладочного вывода, и искать его в полном списке скриптов Testnet. 

В каждом из сценариев testnet, я включил необработанный скрипт (в шестнадцатеричном) и полный необработанный ТХ (в шестнадцатеричном). От того, вы должны иметь почти все, что вам может понадобиться, чтобы запустить эти сценарии через скриптовый движок.
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

1 января 2012, 5:53:05 PM   # 5
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

Любой интересный в создании и тестировании более модульных тестов вместе?

Хорошая идея. Как вы создаете файлы?

На каком языке вы пишете в? Кто-нибудь хочет добровольно написать блок тестера Satoshi-Bitcoin в C ++, который анализирует формат ThePiachu в? Или у вас уже есть код, который работает их? Совершение Gazillion тестовых скриптов блок дел в SRC / тест / scriptTests / звучит как очень хорошая идея для меня.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

1 января 2012, 9:31:56 PM   # 6
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

На данный момент, я не создавать какие-либо файлы, просто писать тесты вручную в моем исходном файле. Вероятно, можно было записать их в текстовый файл и загружать их куда-нибудь (например, либо в каталоге Bitcoin GitHub или какой-то новый репозиторий).

Я пишу свой код в Go, и я думаю, в какой-то момент я мог бы создать какой-то веб-сайт, который может запустить Bitcoin Script от ввода текста. В настоящее время, хотя мне нужно закончить написание кода в течение нескольких последних ФОС.

Если мы также будем писать модульные тесты для операций, которые будут генерировать ошибки?
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu

1 января 2012, 11:37:16 PM   # 7
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

Создано хранилище для различных тестов Bitcoin Unit и загрузил свои первоначальные тесты:
https://github.com/ThePiachu/Bitcoin-Unit-Tests
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu

2 января 2012, 2:41:59 AM   # 8
 
 
Сообщения: 442
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

Загрузил пару различных тестов, и создал новую тему для общих испытаний системы:
ThePiachu сейчас офлайн Пожаловаться на ThePiachu   Ответить с цитированием Мультицитирование сообщения от ThePiachu Быстрый ответ на сообщение ThePiachu

2 января 2012, 5:38:32 AM   # 9
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: модульные тесты Script

Piachu,

Я просто вытащил три сделки я ссылка в моем первом посте, и поместить их в форму, которую вы должны иметь возможность копировать их прямо в ваших тестах. Так как все они содержат подписи-чеку, вам потребуется полная сериализованную сделка - которые я включал. Если вы не хотите, сценарии отдельно, вы можете просто сцепить сценарии:  


2-из-2 сделки без OP_CHECKMULTISIG
Код:
Testnet Tx Hash: 1c9608650a912be7fa88eecec664e6fbfa4b676708697fa99c28b3370005f32d

PrevTxOutScript: 526b006b7dac7ca914fc1243972b59c1726735d3c5cca40e415039dce9879a6c936b7dac7ca914375dd72e03e7b5dbb49f7e843b7bef4a2cc2ce9e879a6c936b6c6ca2
CurrTxInScript: 483045022017462c29efc9158cf26f2070d444bb2b087b8a0e6287a9274fa36fad30c46485022100c6d4cc6cd504f768389637df71c1ccd452e0691348d0f418130c31da8cc2a6e8014104e83c1d4079a1b36417f0544063eadbc44833a992b9667ab29b4ff252d8287687bad7581581ae385854d4e5f1fcedce7de12b1aec1cb004cabb2ec1f3de9b2e60493046022100fdc7beb27de0c3a53fbf96df7ccf9518c5fe7873eeed413ce17e4c0e8bf9c06e022100cc15103b3c2e1f49d066897fe681a12e397e87ed7ee39f1c8c4a5fef30f4c2c60141047cf315904fcc2e3e2465153d39019e0d66a8aaec1cec1178feb10d46537427239fd64b81e41651e89b89fefe6a23561d25dddc835395dd3542f83b32a1906aeb
CurrRawTx: 01000000011c9608650a912be7fa88eecec664e6fbfa4b676708697fa99c28b3370005f32d01000000fd1701483045022017462c29efc9158cf26f2070d444bb2b087b8a0e6287a9274fa36fad30c46485022100c6d4cc6cd504f768389637df71c1ccd452e0691348d0f418130c31da8cc2a6e8014104e83c1d4079a1b36417f0544063eadbc44833a992b9667ab29b4ff252d8287687bad7581581ae385854d4e5f1fcedce7de12b1aec1cb004cabb2ec1f3de9b2e60493046022100fdc7beb27de0c3a53fbf96df7ccf9518c5fe7873eeed413ce17e4c0e8bf9c06e022100cc15103b3c2e1f49d066897fe681a12e397e87ed7ee39f1c8c4a5fef30f4c2c60141047cf315904fcc2e3e2465153d39019e0d66a8aaec1cec1178feb10d46537427239fd64b81e41651e89b89fefe6a23561d25dddc835395dd3542f83b32a1906aebffffffff01c0d8a700000000001976a914fc1243972b59c1726735d3c5cca40e415039dce988ac00000000


Довольно TxIn Сценарий:
   [PUSHDATA - 72 байта:]
   3045022017462c29efc9158cf26f2070d444bb2b087b8a0e6287a9274fa36fad30c46485022100c6d4cc6cd504f768389637df71c1ccd452e0691348d0f418130c31da8cc2a6e801
   [PUSHDATA - 65 БАЙТ:]
   04e83c1d4079a1b36417f0544063eadbc44833a992b9667ab29b4ff252d8287687bad7581581ae385854d4e5f1fcedce7de12b1aec1cb004cabb2ec1f3de9b2e60
   [PUSHDATA - 73 БАЙТ:]
   3046022100fdc7beb27de0c3a53fbf96df7ccf9518c5fe7873eeed413ce17e4c0e8bf9c06e022100cc15103b3c2e1f49d066897fe681a12e397e87ed7ee39f1c8c4a5fef30f4c2c601
   [PUSHDATA - 65 БАЙТ:]
   047cf315904fcc2e3e2465153d39019e0d66a8aaec1cec1178feb10d46537427239fd64b81e41651e89b89fefe6a23561d25dddc835395dd3542f83b32a1906aeb

Довольно TxOut Сценарий:
   2
   OP_TOALTSTACK
   OP_0
   OP_TOALTSTACK
   OP_TUCK
   OP_CHECKSIG
   OP_SWAP
   OP_HASH160
   [PUSHDATA - 20 байтам:]
   fc1243972b59c1726735d3c5cca40e415039dce9
   OP_EQUAL
   OP_BOOLAND
   OP_FROMALTSTACK
   OP_ADD
   OP_TOALTSTACK
   OP_TUCK
   OP_CHECKSIG
   OP_SWAP
   OP_HASH160
   [PUSHDATA - 20 байтам:]
   375dd72e03e7b5dbb49f7e843b7bef4a2cc2ce9e
   OP_EQUAL
   OP_BOOLAND
   OP_FROMALTSTACK
   OP_ADD
   OP_TOALTSTACK
   OP_FROMALTSTACK
   OP_FROMALTSTACK
   OP_GREATERTHANOREQUAL

2-3 из-транзакций без OP_CHECKMULTISIG
Код:
Testnet Tx Hash: 2f654d4d1d7246d1a824c5b6c5177c0b5a1983864579aabb88cabd5d05e032e2

PrevTxOutScript: 526b006b7dac7ca9143cd1def404e12a85ead2b4d3f5f9f817fb0d46ef879a6c936b7dac7ca9146a4e7d5f798e90e84db9244d4805459f87275943879a6c936b7dac7ca914486efdd300987a054510b4ce1148d4ad290d911e879a6c936b6c6ca2
CurrTxInScript: 4730440220151ad44e7f78f9e0c4a3f2135c19ca3de8dbbb7c58893db096c0c5f1573d5dec02200724a78c3fa5f153103cb46816df46eb6cfac3718038607ddec344310066161e01410459fd82189b81772258a3fc723fdda900eb8193057d4a573ee5ad39e26b58b5c12c4a51b0edd01769f96ed1998221daf0df89634a7137a8fa312d5ccc95ed8925483045022100ca34834ece5925cff6c3d63e2bda6b0ce0685b18f481c32e70de9a971e85f12f0220572d0b5de0cf7b8d4e28f4914a955e301faaaa42f05feaa1cc63b45f938d75d9014104ce6242d72ee67e867e6f8ec434b95fcb1889c5b485ec3414df407e11194a7ce012eda021b68f1dd124598a9b677d6e7d7c95b1b7347f5c5a08efa628ef0204e1483045022074e01e8225e8c4f9d0b3f86908d42a61e611f406e13817d16240f94f52f49359022100f4c768dd89c6435afd3834ae2c882465ade92d7e1cc5c2c2c3d8d25c41b3ea61014104ce66c9f5068b715b62cc1622572cd98a08812d8ca01563045263c3e7af6b997e603e8e62041c4eb82dfd386a3412c34c334c34eb3c76fb0e37483fc72323f807
CurrRawTx: 01000000012f654d4d1d7246d1a824c5b6c5177c0b5a1983864579aabb88cabd5d05e032e201000000fda0014730440220151ad44e7f78f9e0c4a3f2135c19ca3de8dbbb7c58893db096c0c5f1573d5dec02200724a78c3fa5f153103cb46816df46eb6cfac3718038607ddec344310066161e01410459fd82189b81772258a3fc723fdda900eb8193057d4a573ee5ad39e26b58b5c12c4a51b0edd01769f96ed1998221daf0df89634a7137a8fa312d5ccc95ed8925483045022100ca34834ece5925cff6c3d63e2bda6b0ce0685b18f481c32e70de9a971e85f12f0220572d0b5de0cf7b8d4e28f4914a955e301faaaa42f05feaa1cc63b45f938d75d9014104ce6242d72ee67e867e6f8ec434b95fcb1889c5b485ec3414df407e11194a7ce012eda021b68f1dd124598a9b677d6e7d7c95b1b7347f5c5a08efa628ef0204e1483045022074e01e8225e8c4f9d0b3f86908d42a61e611f406e13817d16240f94f52f49359022100f4c768dd89c6435afd3834ae2c882465ade92d7e1cc5c2c2c3d8d25c41b3ea61014104ce66c9f5068b715b62cc1622572cd98a08812d8ca01563045263c3e7af6b997e603e8e62041c4eb82dfd386a3412c34c334c34eb3c76fb0e37483fc72323f807ffffffff01b0ad5407000000001976a9146a4e7d5f798e90e84db9244 d4805459f8727594388ac00000000


Довольно TxIn Сценарий:
   [PUSHDATA - 71 Б]
   30440220151ad44e7f78f9e0c4a3f2135c19ca3de8dbbb7c58893db096c0c5f1573d5dec02200724a78c3fa5f153103cb46816df46eb6cfac3718038607ddec344310066161e01
   [PUSHDATA - 65 БАЙТ:]
   0459fd82189b81772258a3fc723fdda900eb8193057d4a573ee5ad39e26b58b5c12c4a51b0edd01769f96ed1998221daf0df89634a7137a8fa312d5ccc95ed8925
   [PUSHDATA - 72 байта:]
   3045022100ca34834ece5925cff6c3d63e2bda6b0ce0685b18f481c32e70de9a971e85f12f0220572d0b5de0cf7b8d4e28f4914a955e301faaaa42f05feaa1cc63b45f938d75d901
   [PUSHDATA - 65 БАЙТ:]
   04ce6242d72ee67e867e6f8ec434b95fcb1889c5b485ec3414df407e11194a7ce012eda021b68f1dd124598a9b677d6e7d7c95b1b7347f5c5a08efa628ef0204e1
   [PUSHDATA - 72 байта:]
   3045022074e01e8225e8c4f9d0b3f86908d42a61e611f406e13817d16240f94f52f49359022100f4c768dd89c6435afd3834ae2c882465ade92d7e1cc5c2c2c3d8d25c41b3ea6101
   [PUSHDATA - 65 БАЙТ:]
   04ce66c9f5068b715b62cc1622572cd98a08812d8ca01563045263c3e7af6b997e603e8e62041c4eb82dfd386a3412c34c334c34eb3c76fb0e37483fc72323f807

Довольно TxOutScript:
   2
   OP_TOALTSTACK
   OP_0
   OP_TOALTSTACK
   OP_TUCK
   OP_CHECKSIG
   OP_SWAP
   OP_HASH160
   [PUSHDATA - 20 байтам:]
   3cd1def404e12a85ead2b4d3f5f9f817fb0d46ef
   OP_EQUAL
   OP_BOOLAND
   OP_FROMALTSTACK
   OP_ADD
   OP_TOALTSTACK
   OP_TUCK
   OP_CHECKSIG
   OP_SWAP
   OP_HASH160
   [PUSHDATA - 20 байтам:]
   6a4e7d5f798e90e84db9244d4805459f87275943
   OP_EQUAL
   OP_BOOLAND
   OP_FROMALTSTACK
   OP_ADD
   OP_TOALTSTACK
   OP_TUCK
   OP_CHECKSIG
   OP_SWAP
   OP_HASH160
   [PUSHDATA - 20 байтам:]
   486efdd300987a054510b4ce1148d4ad290d911e
   OP_EQUAL
   OP_BOOLAND
   OP_FROMALTSTACK
   OP_ADD
   OP_TOALTSTACK
   OP_FROMALTSTACK
   OP_FROMALTSTACK
   OP_GREATERTHANOREQUAL



2-3 из-транзакций с OP_CHECKMULTISIG
Код:
Testnet Tx Hash: bb664ff716b9dfc831bcc666c1767f362ad467fcfbaf4961de92e45547daab87

PrevTxOutScript: 537a7652a269537a829178a91480677c5392220db736455533477d0bc2fba65502879b69537a829178a91402d7aa2e76d9066fb2b3c41ff8839a5c81bdca19879b69537a829178a91410039ce4fdb5d4ee56148fe3935b9bfbbe4ecc89879b6953ae
CurrTxInScript: 00493046022100d73f633f114e0e0b324d87d38d34f22966a03b072803afa99c9408201f6d6dc6022100900e85be52ad2278d24e7edbb7269367f5f2d6f1bd338d017ca460008776614401473044022071fef8ac0aa6318817dbd242bf51fb5b75be312aa31ecb44a0afe7b49fcf840302204c223179a383bb6fcb80312ac66e473345065f7d9136f9662d867acf96c12a42015241048c006ff0d2cfde86455086af5a25b88c2b81858aab67f6a3132c885a2cb9ec38e700576fd46c7d72d7d22555eee3a14e2876c643cd70b1b0a77fbf46e62331ac4104b68ef7d8f24d45e1771101e269c0aacf8d3ed7ebe12b65521712bba768ef53e1e84fff3afbee360acea0d1f461c013557f71d426ac17a293c5eebf06e468253e00
CurrRawTx: 0100000001bb664ff716b9dfc831bcc666c1767f362ad467fcfbaf4961de92e45547daab8701000000fd190100493046022100d73f633f114e0e0b324d87d38d34f22966a03b072803afa99c9408201f6d6dc6022100900e85be52ad2278d24e7edbb7269367f5f2d6f1bd338d017ca460008776614401473044022071fef8ac0aa6318817dbd242bf51fb5b75be312aa31ecb44a0afe7b49fcf840302204c223179a383bb6fcb80312ac66e473345065f7d9136f9662d867acf96c12a42015241048c006ff0d2cfde86455086af5a25b88c2b81858aab67f6a3132c885a2cb9ec38e700576fd46c7d72d7d22555eee3a14e2876c643cd70b1b0a77fbf46e62331ac4104b68ef7d8f24d45e1771101e269c0aacf8d3ed7ebe12b65521712bba768ef53e1e84fff3afbee360acea0d1f461c013557f71d426ac17a293c5eebf06e468253e00ffffffff0280969800000000001976a9140817482d2e97e4be877efe59f4bae108564549f188ac7015a7000000000062537a7652a269537a829178a91480677c5392220db736455533477d0bc2fba65502879b69537a829178a91402d7aa2e76d9066fb2b3c41ff8839a5c81bdca19879b69537a829178a91410039ce4fdb5d4ee56148fe3935b9bfbbe4ecc89879b6953ae00000000
Довольно TxIn Сценарий:
   OP_0
   [PUSHDATA - 73 БАЙТ:]
   3046022100d73f633f114e0e0b324d87d38d34f22966a03b072803afa99c9408201f6d6dc6022100900e85be52ad2278d24e7edbb7269367f5f2d6f1bd338d017ca460008776614401
   [PUSHDATA - 71 Б]
   3044022071fef8ac0aa6318817dbd242bf51fb5b75be312aa31ecb44a0afe7b49fcf840302204c223179a383bb6fcb80312ac66e473345065f7d9136f9662d867acf96c12a4201
   2
   [PUSHDATA - 65 БАЙТ:]
   048c006ff0d2cfde86455086af5a25b88c2b81858aab67f6a3132c885a2cb9ec38e700576fd46c7d72d7d22555eee3a14e2876c643cd70b1b0a77fbf46e62331ac
   [PUSHDATA - 65 БАЙТ:]
   04b68ef7d8f24d45e1771101e269c0aacf8d3ed7ebe12b65521712bba768ef53e1e84fff3afbee360acea0d1f461c013557f71d426ac17a293c5eebf06e468253e
   OP_0
Довольно TxOut Сценарий:
   3
   OP_ROLL
   OP_DUP
   2
   OP_GREATERTHANOREQUAL
   OP_VERIFY
   3
   OP_ROLL
   OP_SIZE
   OP_NOT
   OP_OVER
   OP_HASH160
   [PUSHDATA - 20 байтам:]
   80677c5392220db736455533477d0bc2fba65502
   OP_EQUAL
   OP_BOOLOR
   OP_VERIFY
   3
   OP_ROLL
   OP_SIZE
   OP_NOT
   OP_OVER
   OP_HASH160
   [PUSHDATA - 20 байтам:]
   02d7aa2e76d9066fb2b3c41ff8839a5c81bdca19
   OP_EQUAL
   OP_BOOLOR
   OP_VERIFY
   3
   OP_ROLL
   OP_SIZE
   OP_NOT
   OP_OVER
   OP_HASH160
   [PUSHDATA - 20 байтам:]
   10039ce4fdb5d4ee56148fe3935b9bfbbe4ecc89
   OP_EQUAL
   OP_BOOLOR
   OP_VERIFY
   3
   OP_CHECKMULTISIG

Обратите внимание, что все эти сценарии являются нестандартными. Они на самом деле предназначены для обеспечения 20-байтных открытых ключей хэши которые будут использоваться в качестве входных данных, а не 65-байтовых открытых ключей. Как таковые, они являются очень сложными, потому что сценарий должен проверить, что открытые ключи соответствуют 2 хэшей в сценарии TxOut.

Кроме того, будьте осторожны с вами Hash160 звонков. Как я узнал от тестирования моего собственного скриптового движка, OP_0 это, как интерпретируются с [] (пустой строкой), что означает его может быть хэшируются а также имеет нулевую длину.  Это так важно для прохождения этих тестов сценариев.

etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW