> ## Documentation Index
> Fetch the complete documentation index at: https://whalescorp.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Индексер блокчейна Whales

# Что такое индексер блокчейна

Индексеры преобразуют сырые данные блокчейна в структурированные базы данных, предназначенные для поиска и отображения информации. На основе таких баз работают блокчейн-эксплореры и другие продукты, включая кошельки и API. Узлы блокчейна не оптимизированы для обработки большого количества постоянных запросов, поэтому данные для таких сценариев извлекаются из индексера.\
В экосистеме Whales индексер служит основой для API v4, который, в свою очередь, обеспечивает работу других продуктов компании.\
**ton-indexer-go** — это индексер блокчейна TON (The Open Network), созданный командой Whales. Он загружает блоки и транзакции с узлов блокчейна, обрабатывает их и сохраняет структурированные данные в **ScyllaDB**. В результате получается индекс, который позволяет быстро искать транзакции по адресам, блокам, времени и другим критериям.\
Репозиторий: [https://github.com/whalescorp/ton-indexer-go\\](https://github.com/whalescorp/ton-indexer-go\\)
Язык: [Go](https://golang.org/)

# Для чего используется индексер

* **Создание индекса истории состояний аккаунтов** — до и после каждой транзакции, включая баланс, хэши code и data, ячейки и библиотеки.
* **Создание индекса блоков** — masterchain- и shard-блоков с метаданными, такими как seqno, shard, utime, BOC и другие.
* **Создание индекса для аналитики и эксплореров** — построение блокчейн-эксплореров, дашбордов и сервисов, работающих поверх индекса без прямых запросов к узлам TON.

# Отличия от похожих продуктов

* **Собственный индекс и собственная инфраструктура** — данные хранятся в собственной ScyllaDB. Нет зависимости от сторонних API, таких как TON Center или TONAPI: обеспечивается полный контроль над схемой данных, объемом истории и SLA.
* **Два режима загрузки** — поддерживается не только онлайн-синхронизация из сети через `archsync`, но и импорт из архива через `archimport + tximport`. Это позволяет быстро поднимать индекс с нуля на основе готового дампа или обрабатывать офлайн-бэкапы.
* **ScyllaDB, совместимая с Cassandra** — выбрана из-за высокой нагрузки на запись, больших объемов данных и горизонтального масштабирования. Многие другие решения, например TON Center API v3, используют PostgreSQL, где другая модель масштабирования и запросов.
* **Глубокое индексирование состояния** — сохраняются не только транзакции и блоки, но и состояния аккаунтов до и после транзакции, а также ячейки и библиотеки. Это удобно для эксплореров и аналитики, которым нужно "состояние аккаунта в конкретный момент времени". При этом важно учитывать, что доказательства хранятся не полностью.
* **LT-buckets** — специальная структура для быстрой пагинации истории транзакций по адресу и logical time без тяжелых scan-запросов.
* **Распределенный импорт** — при работе с архивами несколько воркеров, то есть `archimport` и `tximport`, координируются через базу данных, что позволяет распараллеливать первичную загрузку.

# Режимы работы

Индексер поддерживает два основных сценария:

1. **Онлайн-синхронизация (`archsync`)** — подключается к TON через Lite Client, то есть lite servers, синхронизирует новые блоки в реальном времени и записывает данные в ScyllaDB.
2. **Импорт из архива (`archimport + tximport`)** — читает готовые дампы блоков с диска, то есть архивные пакеты, а также транзакции, после чего импортирует их в ту же ScyllaDB. Этот режим используется для первоначальной загрузки истории или обработки офлайн-дампов.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.