Przejdź do głównej zawartości

Synchronizacja z blockchainem

Potok synchronizacji blockchain pobiera, normalizuje i deduplikuje dane on-chain dla każdego podłączonego portfela. Postęp jest przesyłany strumieniowo w czasie rzeczywistym, dzięki czemu możesz monitorować każdą synchronizację na bieżąco.

Gdy podłączysz portfel lub wyzwolisz synchronizację, CryptaCount uruchamia dwa równoległe strumienie danych:

Transactions — pobiera transfery waluty natywnej (ETH na Ethereum, MATIC na Polygon itp.) i normalne wywołania kontraktów. Są to bezpośrednie transakcje na podstawowej warstwie sieci.

Token Transfers — pobiera zdarzenia transferu tokenów (ERC-20 i równoważniki). Są to zdarzenia emitowane przez kontrakty i rejestrowane w logach transakcji, synchronizowane niezależnie od transakcji natywnych.

Status synchronizacji z dwoma równoległymi strumieniami

Każdy strumień utrzymuje własny tracker postępu (numer ostatnio przetworzonego bloku) i kursor paginacji.

  1. Initialize — CryptaCount sprawdza, czy inny portfel z tym samym adresem i siecią jest już synchronizowany (zapobiega podwójnej synchronizacji). Określa blok startowy dla każdego strumienia.
  2. Fetch — żądanie danych transakcyjnych od dostawców blockchain w paginowanych porcjach
  3. Normalize — konwersja formatów specyficznych dla danej sieci do uniwersalnego modelu transakcji CryptaCount
  4. Deduplicate — sprawdzenie każdej transakcji względem istniejących rekordów w celu zapobiegania duplikatom
  5. Store — zapis nowych transakcji do przestrzeni roboczej
  6. Classify — uruchomienie silnika klasyfikacji transakcji na nowych rekordach
  7. Price — pobranie wartości godziwej rynkowej (FMV) dla każdego aktywa w momencie każdej transakcji
  8. Journal — generowanie zapisów księgowych w systemie podwójnego zapisu

Każda transakcja otrzymuje unikalny klucz oparty na sieci, bloku, hashu transakcji i indeksie zdarzenia. CryptaCount sprawdza istniejące rekordy przed wstawieniem nowych, zapewniając brak duplikatów danych nawet jeśli synchronizacja zostanie przerwana i wznowiona.

Po początkowej pełnej synchronizacji kolejne synchronizacje wznawiają się od ostatnio przetworzonego bloku. Co istotne, punkt wznowienia jest śledzony per strumień (transakcje vs. transfery tokenów):

  • Każdy strumień wznawia się niezależnie
  • Zapobiega to sytuacji, w której numer bloku szybciej kończącego się strumienia powoduje pominięcie danych przez drugi

Postęp synchronizacji jest przesyłany strumieniowo do interfejsu w czasie rzeczywistym. Wyświetlacz postępu pokazuje:

  • Aktualną fazę synchronizacji (pobieranie, normalizacja, zapis)
  • Przetworzone transakcje / szacowana łączna liczba
  • Postęp bloków (bieżący blok / najnowszy blok)
  • Status per strumień (Transactions, Token Transfers)
  • Komunikaty błędów, jeśli występują

Umożliwia to wskaźniki postępu na żywo bez konieczności odświeżania strony.

Gdy ten sam adres jest używany w wielu portfelach przestrzeni roboczej (np. ten sam adres dodany pod różnymi etykietami), CryptaCount sprawdza duplikaty i pomija synchronizację, jeśli inny portfel z tym samym adresem jest już zsynchronizowany lub synchronizowany. Zapobiega to duplikacji danych transakcyjnych na poziomie przestrzeni roboczej.

Dostawcy danych blockchain narzucają limity szybkości. Potok synchronizacji obsługuje to za pomocą:

  • Automatycznego cofania — po osiągnięciu limitów szybkości system cofa się i ponawia próbę automatycznie
  • Zachowywania postępu — jeśli synchronizacja zostanie przerwana, postęp jest zapisywany per strumień, a następna synchronizacja wznawia się od miejsca przerwania
  • Czyszczenia utknniętych synchronizacji — zadanie w tle okresowo wykrywa i czyści utknięte synchronizacje

Z widoku szczegółowego portfela zakładka Sync pokazuje:

Zakładka synchronizacji portfela ze szczegółami postępu

  • Aktualny status synchronizacji per strumień (Transactions, Token Transfers)
  • Numer ostatnio przetworzonego bloku per strumień
  • Łączna liczba pobranych transakcji
  • Komunikaty błędów, jeśli występują
  • Czas ostatniej udanej synchronizacji
  • Pojedynczy portfel: otwórz widok szczegółowy portfela → kliknij Sync Now
  • Rescan: wymuś pełne ponowne skanowanie portfela od bloku 0
  • Sync request: użytkownicy mogą wnioskować o synchronizację, którą menedżerowie przestrzeni roboczej zatwierdzają lub odrzucają

Typowe błędy synchronizacji i sposoby ich rozwiązywania:

BłądPrzyczynaRozwiązanie
Rate limit exceededZbyt wiele żądań do dostawcyPoczekaj i ponów próbę; automatyczne cofanie obsługuje to automatycznie
TimeoutDuża porcja danych zajmuje zbyt dużo czasuAutomatyczne; następna synchronizacja wznawia się od ostatniego bloku per strumień
Invalid addressAdres portfela nie pasuje do wybranej sieciSprawdź format adresu i wybór sieci
Provider unavailableDostawca danych blockchain tymczasowo niedostępnyAutomatyczne ponowienie po czasie oczekiwania
Double sync detectedTen sam adres jest już synchronizowanyPoczekaj na zakończenie istniejącej synchronizacji

W przypadku trwałych problemów zapoznaj się z przewodnikiem rozwiązywania problemów Synchronizacja i łączność.

Nadal potrzebujesz pomocy?

Nie możesz znaleźć tego, czego szukasz? Nasz zespół wsparcia jest do Twojej dyspozycji.

Testujesz CryptaCount dla swojej kancelarii? Zobacz cennik · Umów demo