| 
 | 
|  12 декабря 2014, 10:07:43 PM | # 1 | 
| 
Сообщения: 352
 цитировать ответ |  Re: знак операции 
Взлом Биткоин адресов.   500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome" Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e подробнее... Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru может кто-то указать мне сайт, который объясняет, шаг за шагом, как подписать сделку | 
|     |       | 
|  12 декабря 2014, 10:16:21 PM | # 2 | 
| 
Сообщения: 1260
 цитировать ответ |  Re: знак операции 
Получил 1806 Биткоинов   Реальная история. может кто-то указать мне сайт, который объясняет, шаг за шагом, как подписать сделкуНужна ли вы подписание с RPC вызовов? Или подписать сам ECDSA? http://bitcoin.stackexchange.com/questions/3374 http://bitcoin.stackexchange.com/questions/32628 | 
|     |       | 
|  12 декабря 2014, 11:05:47 PM | # 3 | 
| 
Сообщения: 756
 цитировать ответ |  Re: знак операции может кто-то указать мне сайт, который объясняет, шаг за шагом, как подписать сделку Это очень просто на blockchain.info бумажнике. | 
|     |       | 
|  13 декабря 2014, 12:45:25 AM | # 4 | 
| 
Сообщения: 352
 цитировать ответ |  Re: знак операции Нужна ли вы подписание с RPC вызовов? Или подписать сам ECDSA?Благодарю. http://bitcoin.stackexchange.com/questions/3374 http://bitcoin.stackexchange.com/questions/32628 Im разработчик ... | 
|     |       | 
|  13 декабря 2014, 2:30:47 AM | # 5 | 
| 
Сообщения: 478
 цитировать ответ |  Re: знак операции Нужна ли вы подписание с RPC вызовов? Или подписать сам ECDSA?Благодарю. http://bitcoin.stackexchange.com/questions/3374 http://bitcoin.stackexchange.com/questions/32628 Im разработчик ... Я настоятельно рекомендую против написания собственных крипто ... Какой язык вы пытаетесь закодировать в? | 
|     |       | 
|  13 декабря 2014, 3:32:09 PM | # 6 | 
| 
Сообщения: 412
 цитировать ответ |  Re: знак операции Ваш код должен будет касаться многих вещей .. Deserialize сделки, правильно подготовить хэш ввода должны быть подписан, реализуя эллиптическую кривую криптографию для создания ключей, подписать их, и т.д. (это на самом деле легко, если вы найти твердый & тестирование реализации ECC). Если это возможно, вы могли бы предпочесть реализовать HMAC_DBRG поэтому у вас есть детерминированные подписи, чтобы не потерять свой ум! (Как подпись ECDSA включает в себя временное значение, они могут быть трудно проверить) Большая часть подготовительной работы для подписания описано здесь: https://en.bitcoin.it/wiki/OP_CHECKSIG | 
|     |       | 
|  13 декабря 2014, 3:44:44 PM | # 7 | 
| 
Сообщения: 1260
 цитировать ответ |  Re: знак операции котировка Ваш код должен будет касаться многих вещей .. Deserialize сделки, правильно подготовить хэш ввода должны быть подписано ... На самом деле, это не "много вещей" если вы знаете, что вы хотите для того чтобы достигнуть. Например, это часть моей программы "... правильно подготовить хэш ввода должен быть подписан ..." Я не хочу, чтобы все объяснить, но просто показать вам, что это короткий и легкий Код: Const MyKey32 Transaction :: getRawHash (сопзЬ Int N, Const QByteArray& ЮКЖД) сопзЬ { MyByteArray в отставке; // создать пустой массив Поток потока (ов); ret.putInt32 (stream.readU32 ()); // версия ret.putVarInt (stream.readVar ()); // Количество входных для (INT I (0); я < входы; я ++) // скопировать все входы { ret.append (stream.readHash ()); // скопировать 32 байт хэш как ret.putInt32 (stream.readU32 ()); // скопировать индекс 4 байта stream.skipVarData (); // пропустить оригинальный сценарий ret.putPrefixed (я == п И: QByteArray ()); // замена сценария ret.putInt32 (stream.readU32 ()); } ret.putVarInt (stream.readVar ()); // Количество выходной для (INT I (0); я < выходы; я ++) // скопировать все выходы байт за байтом { ret.putInt64 (stream.readU64 ()); ret.putPrefixed (stream.readVarData ()); } ret.putInt32 (stream.readU32 ()); // замок ret.putInt32 (SIGHASH_ALL); // добавить хэш-код вернуть MyKey32 (ret.constData (), ret.size ()); // создать hash256 массива } | 
|     |       | 
|  13 декабря 2014, 3:47:39 PM | # 8 | 
| 
Сообщения: 210
 цитировать ответ |  Re: знак операции в противном случае juxt идти в БЛ и пользовательские отправки и подписать сообщение     | 
|     |       | 
|  13 декабря 2014, 3:49:40 PM | # 9 | 
| 
Сообщения: 1862
 цитировать ответ |  Re: знак операции Для более конкретизирован версии, которая все еще довольно легко следовать: https://github.com/ciyam/ciyam/blob/master/src/crypto_keys.cpp#L761 (Она включает в себя поддержку для дополнительного OP_RETURN * Сообщение *) | 
|     |       | 
|  14 декабря 2014, 7:58:20 PM | # 10 | 
| 
Сообщения: 352
 цитировать ответ |  Re: знак операции Спасибо вам всем им развиваться в PHP .. моя цель его только понять код (https://github.com/FabioCarpi/MyCoin) я понимаю, лучше написать мой ONW код (я хотел изобрести колесо) и PHP его единственный язык, я до сих пор знаю (жаль его позор для меня ....) | 
|     |       | 
|  18 декабря 2014, 10:15:04 AM | # 11 | 
| 
Сообщения: 1652
 цитировать ответ |  Re: знак операции Спасибо вам всем им развиваться в PHP .. моя цель его только понять код (https://github.com/FabioCarpi/MyCoin) я понимаю, лучше написать мой ONW код (я хотел изобрести колесо) и PHP его единственный язык, я до сих пор знаю (жаль его позор для меня ....) В ваших таблицах базы данных я заметил, что вы используете VARCHAR (65) для хэш. Вы можете также использовать BINARY (32). | 
|     |       | 
|  19 декабря 2014, 8:33:58 PM | # 12 | 
| 
Сообщения: 352
 цитировать ответ |  Re: знак операции В ваших таблицах базы данных я заметил, что вы используете VARCHAR (65) для хэш. Вы можете также использовать BINARY (32).Спасибо за совет | 
|     |       | 
|  20 декабря 2014, 10:45:06 AM | # 13 | 
| 
Сообщения: 412
 цитировать ответ |  Re: знак операции Это является частью работы в прогрессе, но PHP, так что должно помочь! Я до сих пор, чтобы освободить остальную часть библиотеки. Остальные sighashtypes не были проверены еще.  Код:  PHP Пространство имен Bitcoin\Подпись; использование Bitcoin\крипто-\гашиш; использование Bitcoin\Util\буфер; использование Bitcoin\Util\синтаксический анализатор; использование Bitcoin\скрипт\скрипт; использование Bitcoin\Сделка\TransactionInterface; использование Bitcoin\Сделка\TransactionOutputInterface; / ** * Класс SigHashBuilder * @package Bitcoin * / класс SignatureHash инвентарь SignatureHashInterface { / ** * @var TransactionInterface * / защищенный $ сделка; / ** * @var TransactionInterface * / защищенный $ копия; / ** * @param TransactionInterface $ сделка * / публичная функция __construct(TransactionInterface $ сделка) { $ this-->сделка знак равно $ сделка; } / ** * @return TransactionInterface * / публичная функция getTransaction() { вернуть $ this-->сделка; } / ** * Вычислить хэш текущей транзакции, когда вы хотите * Потратить $ txOut и подписывают $ inputToSign. В SigHashType по умолчанию * SIGHASH_ALL, хотя SIGHASH_SINGLE, SIGHASH_NONE, SIGHASH_ANYONECANPAY * может быть использован. * * @param TransactionOutputInterface $ txOut * @param $ inputToSign * @param INT $ sighashType * @return буфера * @throws \ Exception * / публичная функция calculateHash(TransactionOutputInterface $ txOut, $ inputToSign, $ sighashType знак равно SignatureHashInterface::SIGHASH_ALL) { $ this-->копия знак равно $ this-->getTransaction(); $ входы знак равно &$ this-->копия->getInputsReference(); $ выходы знак равно &$ this-->копия->getOutputsReference(); если ($ inputToSign > подсчитывать($ входы)) { бросить новый \исключение(«Input не существует»); } // процедура SIGHASH_ALL По умолчанию: нулевые все входные скрипты для ($ я знак равно 0; $ я < подсчитывать($ входы); $ я++) { $ входы[$ я] ->setScriptBuf(новый буфер()); } $ входы[$ inputToSign] ->setScript($ txOut->getScript()); если ($ sighashType & 31 == SignatureHashInterface::SIGHASH_NONE) { // Установка выводит в пустой вектор, и установить порядковый номер входов 0. $ выходы = Массив (); для ($ я знак равно 0; $ я < подсчитывать($ входы); $ я++) { если ($ я !знак равно $ inputToSign) { $ входы[$ я] ->setSequence(0); } } } Иначе, если ($ sighashType & 31 == SignatureHashInterface::SIGHASH_SINGLE) { // Изменение размера выходного массива $ inputToSign + 1, установите остальные сценарии в нуль, // и установить последовательность до нуля. $ nOutput знак равно $ inputToSign; если ($ nOutput >знак равно подсчитывать($ выходы)) { бросить новый \исключение(«SignatureHash->calculateHash (): nOutput $ nOutput вне диапазона»); } // Изменение размера .. $ выходы знак равно array_slice($ выходы, 0, ($ nOutput+1)); // Задаем обнулить для ($ я знак равно 0; $ я < $ nOutput; $ я++) { $ выходы[$ я] ->setScript(новый скрипт()); } // Пусть другие обновления по желанию для ($ я знак равно 0; $ я < подсчитывать($ выходы); $ я++) { если ($ я !знак равно $ inputToSign) { $ входы[$ я] ->setSequence(0); } } } // Это может произойти независимо от того, является ли это все, NONE или SINGLE если ($ sighashType & 31 == SignatureHashInterface::SIGHASH_ANYONECANPAY) { $ вход знак равно $ входы[$ inputToSign]; $ входы = Массив ($ вход); } // сериализовать TxCopy и добавьте 4 байта HashType (Little Endian); $ txParser = новый синтаксический анализатор($ this-->копия->сериализации(«Шестигранной»)); $ txParser->WriteInt(4, $ sighashType, правда); $ хэш знак равно гашиш::sha256d($ txParser->GetBuffer() ->сериализации()); $ буфер знак равно буфер::наговор($ хэш); вернуть $ буфер; } } | 
|     |       |