версия специального блока или мои данные повреждены?

Недавно я написал собственный блок-блок-парсер. Он работает хорошо (yay!) До определенного блока, а затем терпит неудачу, потому что чтение данных является чистым вздором.

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

Мой вопрос в том, что кто-то может воспроизвести это, или если мои данные все еще повреждены. Возможно, мне просто нужно удалить файлы all и позволить bitcoind создать их снова?

Мои выводы:

  • blk00622.dat вызывает проблемы
  • Проблема сохраняется после удаления blk00622.dat и запуска bitcoind -reindex (в соответствии с diff новый файл равен старому)
  • Последний ok-блок - это блок # 428949 (адрес файла 0x7B748DF). У меня нет проблем с его обработкой шестнадцатеричным редактором, я получаю те же результаты, что и здесь: https: //blockchain.info/de/block-index/1144703
  • Ошибочный блок начинается с адреса файла 0x7C68AB3
  • Он начинается с F9 BE B4 D9 41 0F 0F 00 F9 BE B4 D9 *

F9 BE B4 D9 - магическое число блока и 41 0F 0F 00 - размер блока. Странная вещь заключается в том, что следующий номер версии снова равен магическому числу (что делает меня причиной того, что, возможно, мои данные все еще повреждены). Остальные данные блока не имеют смысла, например, поле времени указывает на 03/04/1948 ..

Изменить: см. комментарии ниже для URL-адреса файла (к сожалению, я не могу разместить более двух ссылок).

Спасибо!

* см. https://en.bitcoin.it/wiki/Block

7 голосов | спросил user41830 30 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowFri, 30 Sep 2016 19:46:09 +0300 2016, 19:46:09

1 ответ


1

Этот файл блокируется. Вам нужно будет удалить blk00622.dat и любой файл с большим номером blk * .dat и rev00622.dat и любой файл с большим номером rev * .dat. Затем вам нужно будет переиндексировать. Это должно устранить проблему, поскольку поврежденные блоки будут перезагружены.

ответил Andrew Chow 13 J0000006Europe/Moscow 2017, 10:12:54

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132