Który plik blk * .dat zawiera określony blok?

Nov 29 2020

Czy istnieje sposób, aby dowiedzieć się, który blk*.datplik zawiera określony blok?

Na przykład przydatna byłaby informacja, który *.datplik zawiera blok 478558, czyli punkt, z którego został BCHrozwidlony 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 -reindexopcją), zamiast konieczności ponownego pobierania wszystko od nowa.

Odpowiedzi

3 RedGrittyBrick Nov 30 2020 at 01:21

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.