Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
21 апреля 2014, 2:00:59 AM   # 1
 
 
Сообщений: 38
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

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


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

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


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


21 апреля 2014, 4:26:11 AM   # 2
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

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





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

21 апреля 2014, 12:16:55 PM   # 3
 
 
Сообщений: 38
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

Понимаю. Так что, если я правильно понимаю, txids в сущности (косвенно) ссылки на адреса. Мне любопытно - почему протокол не предназначен для операций просто содержат адреса источника и сумм, подлежащих выводимые из каждого из них?

Кроме того, есть способ легко получить txids программно? При создании новой записи транзакции, я обычно есть адрес, я хочу провести с, а не идентификаторы транзакций сделок, которые могут быть предварительно депонированных средств на эти адреса.

Я делаю все это на testnet.

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

21 апреля 2014, 12:54:53 PM   # 4
 
 
Сообщения: 1778
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

"в txids, в сущности (косвенно) ссылающегося"... - не "адреса", а конкретные монеты; монеты, которые, как известно, не израсходованными.
в действительности протокол blockchain не иметь дело с такой вещью, как "адрес" - вместо этого он имеет дело с так называемым выходные скрипты.
"адрес" это просто концепция, которая сделала технологию более удобным, но сам блок-цепь действует на неизрасходованных монетах (описанных TXID + Vout), которые защищены выходные скрипты.

"легко получить txids программно?"
проверить эту команду RPC:
Код:
listunspent
piotr_n сейчас офлайн Пожаловаться на piotr_n   Ответить с цитированием Мультицитирование сообщения от piotr_n Быстрый ответ на сообщение piotr_n

21 апреля 2014, 1:34:52 PM   # 5
 
 
Сообщений: 38
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

В этом есть смысл.

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

21 апреля 2014, 2:44:43 PM   # 6
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

Понимаю. Так что, если я правильно понимаю, txids в сущности (косвенно) ссылки на адреса. Мне любопытно - почему протокол не предназначен для операций просто содержат адреса источника и сумм, подлежащих выводимые из каждого из них?

Кроме того, есть способ легко получить txids программно? При создании новой записи транзакции, я обычно есть адрес, я хочу провести с, а не идентификаторы транзакций сделок, которые могут быть предварительно депонированных средств на эти адреса.

Это очень распространенный и неправильный способ мышления, как работает Bitcoin. Это может работать для кого-то говорить о новостях в реферате, но он полностью рушится, когда на самом деле работает с Bitcoin.

Bitcoin работает на концепции входов и выходов.  Там нет такого понятия, как "сумма по адресу" или "вывод средств из адреса", Все входы являются ссылками на предыдущие неизрасходованные выходы. Все условия выхода на месте то, что требуется для этого вывода, которые будут использоваться в будущих сделках. Для "нормальный" TXS это вход необходимо будет подписан правильным закрытым ключом, однако выходы на самом деле являются скриптами так что условия могут быть более сложными. 

Для ссылки на конкретный вывод требует двух элементов в ID транзакции (Который получает Вас к транзакции, содержащей выход) и индекс (Который определяет, какой из п выходов на которую ссылается). Один из способов думать об этом операции уничтожить неизрасходованные выходы (что делает их потратили) и создавать новые выходы.  

Причина этого в том, что значительно упрощает модель проверки. Для проверки операций требует только узлов, чтобы держать в памяти множество неизрасходованных выходов (UXTO). Если узел принимает TX, который имеет в качестве входных данных ссылку на выходе не в UXTO то либо узел отсутствует предварительное ТХ (и он может запросить другие узлы пропавшего ТХ) или ТХ является недействительным. Если узел получает ТЙ, который не находится в UXTO, но уже потраченный до этого она недействительна.
DeathAndTaxes сейчас офлайн Пожаловаться на DeathAndTaxes   Ответить с цитированием Мультицитирование сообщения от DeathAndTaxes Быстрый ответ на сообщение DeathAndTaxes

21 апреля 2014, 3:21:21 PM   # 7
 
 
Сообщений: 38
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

Спасибо вам за разъяснение! Это очень полезно.

Кажется странным сначала, что потребности createrawtransaction Предыдущие операции в качестве входных сигналов и адреса как выходы. Это гораздо более интуитивным думать о каждой операции, как перевод средств с одного набора адресов в другой набор адресов. Но, в свете того, как вы объяснили это, это действительно имеет смысл.

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

21 апреля 2014, 3:32:39 PM   # 8
 
 
Сообщения: 2002
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

Кажется странным сначала, что потребности createrawtransaction Предыдущие операции в качестве входных сигналов и адреса как выходы. Это гораздо более интуитивным думать о каждой операции, как перевод средств с одного набора адресов в другой набор адресов. Но, в свете того, как вы объяснили это, это действительно имеет смысл.

"адреса в качестве выходов" просто сокращенный способ, чтобы говорить о конкретном типе сделки.

createrawtransaction не на самом деле перевод стоимости "в другой набор адресов", Вместо этого он создает новые выходы, с помощью сценария в той или иной форме. Единственная информация, которую createrawtransaction нужно от пользователя, чтобы создать сценарий является Bitcoin адреса, однако фактический выход createrawtransaction помещает следующий скрипт в выходной:

Код:
OP_DUP OP_HASH160 BYTES_TO_PUSH OP_EQUALVERIFY OP_CHECKSIG

Вы заметите, что нет Bitcoin адрес в этом сценарии вообще. Ближе всего вы там видите на адреса , Которые могут быть вычислены из адреса Bitcoin, но который не имеет версии байта в начале или 4 байта контрольной суммы в конце (и не Base58check кодируется).

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

21 апреля 2014, 4:27:10 PM   # 9
 
 
Сообщения: 1218
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?

Спасибо вам за разъяснение! Это очень полезно.

Кажется странным сначала, что потребности createrawtransaction Предыдущие операции в качестве входных сигналов и адреса как выходы. Это гораздо более интуитивным думать о каждой операции, как перевод средств с одного набора адресов в другой набор адресов. Но, в свете того, как вы объяснили это, это действительно имеет смысл.

Еще раз спасибо!

В протоколе никогда не используются адреса уровня. Для того, чтобы создать транзакцию вам нужно PubKeyHash выхода. Существует 1: 1 отношения между PubKeyHash и адресом, который почему клиенты (как в createrawtx и в клиенте GUI высокого уровня) может "отправить монеты" по адресу. Первое, что клиент делает проверку адреса, а затем преобразовать его в PubKeyHash. Протокол мог заботиться меньше об адресах, однако люди могут сделать ошибки и адрес будучи PubKeyHash закодированных, версионированный и проверяемый полезно для отлова ошибок (например, пытаемся отправить Bitcoins на адрес LiteCoin, или ловить опечатка, потому что контрольная сумма в настоящее время Безразлично» т Validate, или ловить укороченный адрес, потому что форма браузера отрезать последнюю цифру, и т.д.).

На редактирование: Дэнни снова бить меня.

"адреса в качестве выходов" просто сокращенный способ, чтобы говорить о конкретном типе сделки.

Для акцента важный момент Дэнни сделан, "OP_DUP OP_HASH160 BYTES_TO_PUSH OP_EQUALVERIFY OP_CHECKSIG" (Т.е. "отправка монет на адрес") На сегодняшний день является наиболее распространенным типом выхода сделки, но это не единственный тип выхода.


Вы уверены, что вам нужно использовать сырые сделки? Есть более высокие вызовы RPC уровня. Если вы не заботитесь, какие конкретные неизрасходованные выход на который ссылается в сделке, вы могли бы просто использовать sendtoaddress (или sendmany) RPC вызов. Созданная транзакция по-прежнему ссылается на неизрасходованный выход (ы) предварительного сделки (сделок), однако она обрабатывается внутри клиента ("выбор монет").

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

21 апреля 2014, 6:17:33 PM   # 10
 
 
Сообщений: 38
Цитировать по имени
цитировать ответ
по умолчанию Re: Как сгенерировать идентификаторы транзакций, используемых в createrawtransaction?


котировка
Вы уверены, что вам нужно использовать сырые сделки? Есть более высокие вызовы RPC уровня. Если вы не заботитесь, какие конкретные неизрасходованные выход на который ссылается в сделке, вы могли бы просто использовать sendtoaddress (или sendmany) RPC вызов. Созданная транзакция по-прежнему ссылается на неизрасходованный выход (ы) предварительного сделки (сделок), однако она обрабатывается внутри клиента ("выбор монет").

Я, прежде всего, пытаюсь понять RPC API лучше, и весь этот пост, безусловно, достиг этого, а также даю мне лучшее понимание основного протокола.

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


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



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW