Który plik blk * .dat zawiera określony blok?
Czy istnieje sposób, aby dowiedzieć się, który blk*.dat
plik zawiera określony blok?
Na przykład przydatna byłaby informacja, który *.dat
plik zawiera blok 478558
, czyli punkt, z którego został BCH
rozwidlony BTC
. Ponieważ oba współdzielą wszystkie poprzednie bloki, podczas uruchamiania rozwidlonego węzła zaoszczędziłoby to dużo pasma, aby po prostu skopiować pliki bloków z BTC do katalogu danych BCH i ponownie je zindeksować (z -reindex
opcją), zamiast konieczności ponownego pobierania wszystko od nowa.
Odpowiedzi
Czy istnieje sposób, aby dowiedzieć się, który plik blk * .dat zawiera określony blok?
Nie możemy Ci powiedzieć, który z Twoich plików * .dat zawiera blok 478558, ponieważ nie ma wymogu, aby różne węzły przechowywały dane w ten sam sposób.
Dwie instalacje tego samego oprogramowania (np. Rdzeń Bitcoin) mogą mieć różne bloki w pliku blk * .dat o tej samej nazwie. W rzeczywistości jest to prawdopodobne.
Zobacz Czy każda kopia Blockchain jest taka sama?
Dlatego jedynym sposobem, aby się tego dowiedzieć, jest przeanalizowanie indeksów lub przeszukanie każdego pliku, aż znajdziesz blok. Wyobrażam sobie, że prawdopodobnie mógłbyś oszacować, który plik jest najprawdopodobniej oparty na aktualnej wysokości łańcucha bloków + poszukiwanym bloku i rozpocząć wyszukiwanie w plikach, które są najbardziej prawdopodobne.