Какой файл blk * .dat содержит конкретный блок?
Есть ли способ узнать, в каком blk*.datфайле содержится конкретный блок?
Например, было бы полезно знать, какой *.datфайл содержит блок 478558, и из какой точки происходит BCHразветвление BTC. Поскольку оба совместно используют все предыдущие блоки, при запуске разветвленного узла было бы сэкономить много пропускной способности, просто скопировав файлы блоков из BTC в каталог данных BCH и переиндексируя их (с -reindexопцией), вместо того, чтобы повторно загружать их все сначала.
Ответы
Есть ли способ узнать, какой файл blk * .dat содержит конкретный блок?
Мы не можем сказать вам, какой из ваших файлов * .dat содержит блок 478558, потому что не требуется, чтобы разные узлы хранили свои данные одинаково.
Две установки одного и того же программного обеспечения (например, ядра Биткойна) могут иметь разные блоки в файле blk * .dat с тем же именем. На самом деле это возможно.
См. Все ли копии блокчейна одинаковы?
Поэтому единственный способ узнать это - проанализировать индексы или выполнить поиск в каждом файле, пока не найдете блок. Я полагаю, вы, вероятно, могли бы оценить, какой файл, скорее всего, основан на текущей высоте цепочки блоков + искомом блоке, и начать поиск в файлах, близких к вашему наилучшему предположению.