Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
23 июня 2014, 9:20:25 AM   # 1
 
 
Сообщения: 2
Цитировать по имени
цитировать ответ
по умолчанию Re: Я просто написал Bitcoin blockchain анализатор в крошечном фрагменте кода

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


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Я просто написал Bitcoin blockchain анализатор в крошечном фрагменте кода. Это реализуется, как только два исходных файлов, один заголовок и один CPP, без каких-либо внешних зависимостей. Этот фрагмент кода не использует выделения памяти, шаблоны, контейнеры, STL, Boost, или что-нибудь более сложное, чем «FOPEN, FREAD, fclose».

Я написал это в основном как инструмент обучения, чтобы я мог понять формат blockchain сам.

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

Друга в том, что некоторые блоки содержат меньше данных, чем указано на длину блока; Это означает, что после того, как все операции чтения в указатель файла не продвинулся так далеко, как «длина блока», который был указан. Я буду считать это нормальным и ожидаемым?

Этот фрагмент кода разбирает мою копию blockchain (9.2gb) примерно через 95 секунд; который я понял, было довольно хорошо; хотя я не знаю, что я должен сравнить.


Обратная связь, исправления, предложения, все приветствуются. пожалуйста добавьте мой фейсбук http://i.gyazo.com/d1a57bc1e81c3b89911df4905ffde876.png

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


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


23 июня 2014, 9:33:49 AM   # 2
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Я просто написал Bitcoin blockchain анализатор в крошечном фрагменте кода

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





котировка
Друга в том, что некоторые блоки содержат меньше данных, чем указано на длину блока; Это означает, что после того, как все операции чтения в указатель файла не продвинулся так далеко, как «длина блока», который был указан. Я буду считать это нормальным и ожидаемым?

Насколько я знаю, что это не "нормальный", У меня также есть инструмент, который анализирует BLK-файлы и у меня нет таких проблем.
Примечание: там может быть разница между моими и вашим BLK-файлами, потому что Bitcoin-квартой хранит сироту блоков также.

котировка
Этот фрагмент кода разбирает мою копию blockchain (9.2gb) примерно через 95 секунд; который я понял, было довольно хорошо; хотя я не знаю, что я должен сравнить.
Вы путешественник во время с 2013 года? Мой blockchain находится над 20GB в настоящее время.
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin

23 июня 2014, 11:24:25 AM   # 3
 
 
Сообщения: 1736
Цитировать по имени
цитировать ответ
по умолчанию Re: Я просто написал Bitcoin blockchain анализатор в крошечном фрагменте кода

Дополнения нули представляют собой (IIRC), потому что данные выделяются кусковыми (16Мбы?) Для повышения производительности.
cr1776 сейчас офлайн Пожаловаться на cr1776   Ответить с цитированием Мультицитирование сообщения от cr1776 Быстрый ответ на сообщение cr1776

23 июня 2014, 11:44:28 AM   # 4
 
 
Сообщения: 1260
Цитировать по имени
цитировать ответ
по умолчанию Re: Я просто написал Bitcoin blockchain анализатор в крошечном фрагменте кода

Работаете ли вы с Bitcoin? Или любой другой альт-монета?

Сумма длин всех блоков главной цепи от генеза 20GB прямо сейчас (Yours 9,2 неверен!)
Есть нет "отступы" в BLK-файлов на диске, кроме последнего BLK-файла

Код:
аннулированию BlockChain :: заводится ()
{
  setFileName (blkFileName (blkFile ++));
  если (! разомкнут (QIODevice :: ReadOnly))
  {
    _trace (QString ( "не могу открыть [% 1]" ) .arg (имя_файла ()));
    GetParent () .block (QByteArray (), 1); // уведомит отделка
    deleteLater ();
  }
  еще
  {
    _trace (QString ( "Обработка [% 1]" ) .arg (имя_файла ()));
    QTimer :: SingleShot (0, это, SLOT (следующий ()));
  }
}
// ------------------------------------------------ --------------
аннулируются BlockChain :: следующая ()
{
  блокировка BOOL (истина);
  если (поз () < размер ())
  {
    quint32 магии;
    quint32 размер (чтение ((символ *)&магия, 4));
    xassert (((магия == MAGIC_ID) ||! магия) && (Размер == 4));
    если (магия)
    {
      прочитать ((символ *)&размер, 4);
      xassert (размер > HEADER_SIZE && размер <= MAX_BLOCK_SIZE);
      GetParent () .block (чтение (размер), 0);
      QTimer :: SingleShot (0, это, SLOT (следующий ()));
      вернуть;
    }
    еще
      Блокировка = ложь;
  }
  Закрыть ( );
  GetParent () .doneFile (замок, blkFile - 1);
  QTimer :: SingleShot (0, это, SLOT (старт ()));
}
// ------------------------------------------------ --------------
Const QString :: BlockChain blkFileName (Const INT I)
{
  вернуть
    (я < 10)? QString (DATA_ROOT "\\ blk0000% 1.dat" ) .arg (я):
    (я < 100)? QString (DATA_ROOT "\\ blk000% 1.dat" ) .arg (я):
    (я < 1000)? QString (DATA_ROOT "\\ blk00% 1.dat" ) .arg (я):
    (я < 10000)? QString (DATA_ROOT "\\ blk0% 1.dat" ) .arg (я):
    QString (DATA_ROOT "\\ BLK% 1.dat" ) .arg (я);
}
amaclin сейчас офлайн Пожаловаться на amaclin   Ответить с цитированием Мультицитирование сообщения от amaclin Быстрый ответ на сообщение amaclin



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

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

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

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW