Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
11 июля 2013, 3:14:03 PM   # 1
 
 
Сообщения: 1750
Цитировать по имени
цитировать ответ
по умолчанию Re: Подписание нестандартных сделок

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


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

Код:
bc0167de574bfa6c2e04af2b80bf2717399ec614 OP_NOP3 OP_DROP OP_DUP OP_HASH160 ef8a580d4a2f946cf9bb4c18cee113061ffe1912 OP_EQUALVERIFY OP_CHECKSIG

где

Код:
bc0167de574bfa6c2e04af2b80bf2717399ec614 = ripemd160 (SHA256 (76a914a42f15b5fd15552aa14973bfc59039fbc095580488ac))

и 76a914a42f15b5fd15552aa14973bfc59039fbc095580488ac является сценарий предыдущего вывода

Новый сценарий, конечно, нестандартный, но он должен действовать так же, как обычная сделка с оплатой в-Публичным-хэш.

Затем я использую эту команду, чтобы создать сырую сделку потратить на цветные монеты:

Код:
bitcoind --testnet createrawtransaction «[{"TXID":"a0eecca313623fb39ddf92ed36782ec58003fec049d8395166b459bfbbfa3e7a","Vout": 0}]»«{"n1mkYwsdnQap2fcHrzoiZQgxceKFkVrrER": 1,78}»

и bitcoind возвращается:

Код:
01000000017a3efabbbf59b4665139d849c0fe0380c52e7836ed92df9db33f6213a3cceea00000000000ffffffff0180109c0a000000001976a914de2ef3cd43d270c9aba0c165fc9dc0a8ed0148cc88ac00000000

Я пытаюсь использовать signrawtransaction подписать его, и неудивительно, что bitcoind не подпишет. Есть ли простой способ подписать сделку? (Открытый ключ 03D8D93A4F4BF9628742D2C580E83508941474A924A24F5A4339AE0AD200F2B3FD)
jl2012 сейчас офлайн Пожаловаться на jl2012   Ответить с цитированием Мультицитирование сообщения от jl2012 Быстрый ответ на сообщение jl2012


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


11 июля 2013, 3:42:24 PM   # 2
 
 
Сообщения: 1134
Цитировать по имени
цитировать ответ
по умолчанию Re: Подписание нестандартных сделок

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





Я предлагаю вам подписать его вручную:
Формат его правильно (в соответствии с sighash), скопировать байты в буфере обмена (с помощью шестнадцатеричного редактора), подписать его с Bitcoin-Qt, унами-base64 сигнатуры, падением первых байт и делят сохранившееся 64bytes длинной строки на две длинных из них 32 байта (г и s) (См редактировать 1)
Формат г и s правильно (формат DER), а затем создать scriptpubkey (см sighash статью на вики)

PS1: вы можете использовать инструмент, чтобы подписать сделку более легко, поиск jasvet в разработчике&тек форум

PS2: я могу сделать это для вас, если вы не заинтересованы в этом процессе, а в результате

Edit 1: Я забыл про "сообщение Bitcoin подписи" Приставка ... Вы на самом деле нужен инструмент для подписи байт
jackjack сейчас офлайн Пожаловаться на jackjack   Ответить с цитированием Мультицитирование сообщения от jackjack Быстрый ответ на сообщение jackjack

11 июля 2013, 3:49:08 PM   # 3
 
 
Сообщения: 1526
Цитировать по имени
цитировать ответ
по умолчанию Re: Подписание нестандартных сделок

Лучше всего для этого вида работ является использование bitcoinj или, возможно, новой программы txtool Джеффа.
Майк Хирн сейчас офлайн Пожаловаться на Mike Хирн   Ответить с цитированием Мультицитирование сообщения от Mike Хирн Быстрый ответ на сообщение Mike Хирн

11 июля 2013, 4:02:25 PM   # 4
 
 
Сообщения: 225
Цитировать по имени
цитировать ответ
по умолчанию Re: Подписание нестандартных сделок

Лучше всего для этого вида работ является использование bitcoinj или, возможно, новой программы txtool Джеффа.

+1 для BitcoinJ, используйте класс ScriptBuilder, чтобы написать свой обычай ScriptSig и класс Transaction (метод calculateSignature) подписать с соответствующим ключом. Я слишком близко не смотрел на инструмент Джеффа, но я не уверен, что бы работать.

Код:
Сделка Тх = новую транзакцию ();
tx.addInput (prevtxout);
tx.addOutput (...);
tx.getInput (0) .setScriptSig (
    новый ScriptBuilder ()
        .Данные (tx.calculateSignature (0, // число входных
            ключ, // ЭКЕЙ экземпляр с закрытым ключом вы предоставили
            tx.getInput (0) .getConnectedOutput () getScriptPubKey (), // ScriptPubKey с выхода -. Вы также можете просто использовать prevtxout.getScriptPubKey ()
            SigHash.ALL, // в SIGHASH_ALL sighash флаги
            ложь // SIGHASH_ANYONECANPAY ложна
        ) .encodeToBitcoin ()) // Кодировать подпись в формат Bitcoin и вернуться в байтовый массив, который является то, что данные () ожидает
        .данные (key.getPubKey ()) // Добавить ключ к вершине стека, так как это адрес / pubkeyhash сделка, а не просто сделка Публичных
        .построить () // Строит ScriptSig
);

Довольно просто, хотя есть установка, чтобы сделать, чтобы получить все эти вещи в нужных переменных, чтобы начать с
blueadept сейчас офлайн Пожаловаться на blueadept   Ответить с цитированием Мультицитирование сообщения от blueadept Быстрый ответ на сообщение blueadept



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW