Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
6 ноября 2012, 9:07:26 AM   # 1
 
 
Сообщения: 980
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
 Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?
Xenland сейчас офлайн Пожаловаться на Xenland   Ответить с цитированием Мультицитирование сообщения от Xenland Быстрый ответ на сообщение Xenland


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


6 ноября 2012, 3:50:34 PM   # 2
 
 
Сообщения: 125
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

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





https://en.bitcoin.it/wiki/Protocol_specification#getblocks

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

6 ноября 2012, 3:51:59 PM   # 3
 
 
Сообщения: 1246
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

https://en.bitcoin.it/wiki/Protocol_specification#getblocks

Не совсем настроить, чтобы дать определенное количество, вы просто дать ему хэш для последнего блока у вас есть (или несколько позднее), и он будет посылать список ничего более нового (до 500 блоков).

что фактический код, для протокола, который не имеет ничего общего с API узла Bitcoin

Xenland вы, вероятно, хотите
Код:
getblockhash ($ индекс);
gweedo сейчас офлайн Пожаловаться на gweedo   Ответить с цитированием Мультицитирование сообщения от gweedo Быстрый ответ на сообщение gweedo

6 ноября 2012, 4:00:50 PM   # 4
 
 
Сообщения: 125
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

https://en.bitcoin.it/wiki/Protocol_specification#getblocks

Не совсем настроить, чтобы дать определенное количество, вы просто дать ему хэш для последнего блока у вас есть (или несколько позднее), и он будет посылать список ничего более нового (до 500 блоков).

что фактический код, для протокола, который не имеет ничего общего с API узла Bitcoin

Это правильно, насколько я знаю, не существует какой-либо способ получить несколько блоков из интерфейса RPC (если это не изменилось в последних версиях), но если вы подключаетесь через интерфейс P2P будет выплевывать список довольно быстро. В зависимости от приложения, которое проще и исходный вопрос был не очень специфичен.
mskwik сейчас офлайн Пожаловаться на mskwik   Ответить с цитированием Мультицитирование сообщения от mskwik Быстрый ответ на сообщение mskwik

6 ноября 2012, 4:11:40 PM   # 5
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

Это правильно, насколько я знаю, не существует какой-либо способ получить несколько блоков из интерфейса RPC (если это не изменилось в последних версиях)

Последние версии поддерживают JSON-2,0 "партия" запросы, так что вы можете объединить несколько RPC вызовов в один пакет и получить список ответов.

Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

6 ноября 2012, 4:38:30 PM   # 6
 
 
Сообщения: 125
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

Это правильно, насколько я знаю, не существует какой-либо способ получить несколько блоков из интерфейса RPC (если это не изменилось в последних версиях)

Последние версии поддерживают JSON-2,0 "партия" запросы, так что вы можете объединить несколько RPC вызовов в один пакет и получить список ответов.


Ах, очень приятно. Я использую интерфейс P2P, чтобы получить исходные данные блока, так как до того, как getblock вызовы RPC были стандартными (казалось предпочтительнее зондажами различные getblock патчи и идти в ногу с изменением аргументов для них) и даже в довольно последних версиях производительность, кажется, гораздо лучше привязывая этот путь, но я признаю, что я не пробовал еще раз, что в последнее время.
mskwik сейчас офлайн Пожаловаться на mskwik   Ответить с цитированием Мультицитирование сообщения от mskwik Быстрый ответ на сообщение mskwik

6 ноября 2012, 9:20:19 PM   # 7
 
 
Сообщения: 980
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

Спасибо за информацию всем!
Вся эта информация идет к проекту Клиента документации Bitcoin псевдокода: https://github.com/Xenland/Bitcoin-Pseudocode-Client/tree/gh-pages

Кто-нибудь знает, как запросить узел Bitcoin с внешней стороны с getblocks?

Я попытался свернуться запросом с моим узлом Bitcoin в "JSON" формиат и Bitcoin клиент говорит неизвестное сообщение или недопустимое сообщение. Любые ссылки исходного кода BTC для подключения к интерфейсу p2p?
Xenland сейчас офлайн Пожаловаться на Xenland   Ответить с цитированием Мультицитирование сообщения от Xenland Быстрый ответ на сообщение Xenland

6 ноября 2012, 9:32:47 PM   # 8
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

Чтобы использовать протокол p2p изрыгать блоков, вы должны реализовать изрядное кусок протокола; достаточно, чтобы убедить узел, что он разговаривает с другим узлом.

Если вы просто хотите увидеть блоки, разбор блоков файлов супер просто. Единственная загвоздка в том, что вам нужно, чтобы построить свой собственный индекс, как вы идете. Satoshi клиент сохраняет индекс, но в системе BDB, и взаимодействие с этим, вероятно, гораздо больше работы, чем делать это самостоятельно.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

7 ноября 2012, 3:01:14 AM   # 9
 
 
Сообщения: 125
Цитировать по имени
цитировать ответ
по умолчанию Re: Что команда пинг моего Bitcoin узла, чтобы отправить мне X количество блоков?

Вот основной пример подключения к интерфейсу P2P в Perl, это просто подключается и выкладывает новые блоки в сыром виде на STDOUT и отладочной информации о соединении на STDERR, но как только вы получили соединение работает вы можете посылать команды через это, просто нужно быть осторожными о заказах сетевых байт, что Bitcoin использует.

Код:
#! / USR / бен / Perl

использовать IO :: Socket; использовать IO :: Выбрать;
использовать Digest :: SHA, $ | = 1;

$ = IO BTC :: Socket :: INET->новый (PeerAddr =>"локальный", PeerPort =>'8333', Proto =>«TCP») или умереть "Разъем";
$ Сель = IO :: Select->новый (); $ sel->добавить ($ BTC);

$ Р ="\ X2c \ x7E \ x00 \ x00"; # Version
$ Р. ="\ X01 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00"; # Сервисы
$ H = Sprintf ( '% х', время ()), в то время (длина ($ ч)<16) {$ H ="0". $ Ч;}
$ Ч = назад ($ ч); $ р = упаковка ( 'ч *', $ ч). # Unix Timestamp
$ Р. ="\ X01 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ XFF \ XFF"; # Для IP
$ Р. ="\ X7f \ x00 \ x00 \ x01 \ x20 \ x8d"; # 127.0.0.1 - порт 8333
$ Р. ="\ X01 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ XFF \ XFF"; # От IP
$ Р. ="\ X00 \ x00 \ x00 \ x00 \ x20 \ x8d"; # 0.0.0.0 - Порт 8333
@chars = ( 'а' .. 'е', 0..9); $ RR = присоединиться к '', отображение {$ [Rand символы @chars]} 1..16;
. $ Р = упаковка ( 'Н *', $ р-р); # Случайные Уникальный ID
$ Р. ="\ X00 \ x00 \ x00 \ x00 \ x00"; нет # Нет UA / Блоки

sendpacket ( 'версия', $ р);
в то время как ($ gotver == 0) {
  ($ С, $ р) = readpacket ();
  если ($ C экв 'версия') {$ gotver = 1;}
сон (1);}
sendpacket ( 'verack', '');

в то время как (1) {
  ($ С, $ р) = readpacket ();
  если ($ с эк «и») {
    sendpacket ( 'GetData', $ р);
  }
  если ($ C экв 'блок') {
    $ BLK = распаковка ( 'Н *', $ р); печать $ BLK."\ п";
  }
сон (1);}
близко ($ BTC);

к югу sendpacket {мой $ с = сдвиг (@_) мой $ р = сдвиг (@_);
  мой $ о ="\ Xf9 \ XBE \ XB4 \ xd9"; # Магия для основной сети
  в то время как (длина ($ с)<12) {$ гр. ="\ x00";.} $ О = $ с; #Command
  мой $ ч = Sprintf ( '% х', длина ($ р)), в то время (длина ($ ч)<8) {$ H ="0". $ Ч;}
  $ Ч = назад ($ ч); $ O = упаковка ( 'ч *', $ ч). # Payload длина
  $ Ч = Дайджест :: ША :: sha256 (дайджест :: ША :: sha256 ($ р));
  $ H = распаковка ( 'Н *', $ ч);. $ O = упаковка ( 'Н *', зиЬзЬг ($ ч, 0,8)); # Контрольная сумма
  . $ А = $ р; # Payload
  печать $ $ о BTC; печать STDERR "Направлено $ с (".length ($ р)." байт полезной нагрузки) \ П";
}
к югу readpacket {
  если (! $ sel->can_read (1)) {возвращают 0;}
  мой @x мой $ х, в то время как (1) {чтение ($ $ БТД х, 1); $ х = распаковывать ( 'H *', $ х);
    нажимные (@ х, $ х), если ($ # х>3) {сдвиг (@x);}
    если (Join ( '', @ х) эк "f9.be.b4.d9") {
      мои $ ЦМД мой $ LEN;
      чтения ($ $, BTC CMD, 12); чтение ($ BTC, $ Len, 4); чтение ($ BTC, $ х, 4);
      $ Х = распаковка ( 'ч *', $ LEN); $ х = обратный ($ х); $ Len = гекс ($ х);
      $ Х = измельчить ($ CMD), в то время ($ х экв "\ x00") {$ Х = измельчить ($ CMD);}. $ CMD = $ х;
      печать STDERR "Читать $ CMD ($ Len байт полезной нагрузки) \ п";
      если ($ Len>0) {чтение ($ BTC, $ х, $ LEN); возвращение ($ CMD, $ х);}
      еще {возвращение ($ CMD, '');}
    }
  }
}
mskwik сейчас офлайн Пожаловаться на mskwik   Ответить с цитированием Мультицитирование сообщения от mskwik Быстрый ответ на сообщение mskwik



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW