Docs
Поиск⌘ K
  • Главная страница
  • О The Graph
  • Поддерживаемые сети
  • Protocol Contracts
  • Субграфы
    • Субпотоки
      • Token API
        • AI Suite
          • Индексирование
            • Ресурсы
              Субпотоки > Developing > Solana

              2 минуты

              Изменения в учетной записи Solana

              Узнайте, как использовать данные изменений учетных записей Solana с помощью субпотоков.

              Введение

              Это руководство проведет Вас через процесс настройки вашей среды, конфигурирования Ваших первых субпотоков и эффективного потребления изменений учетных записей. К концу этого руководства у Вас будут рабочие субпотоки, которые позволят отслеживать изменения учетных записей в реальном времени на блокчейне Solana, а также получать исторические данные об изменениях учетных записей.

              Примечание: история изменений учетных записей Solana начинается с 2025 года, блок 310629601.

              Для каждого субпотока Solana, фиксируется только последнее обновление для каждой учетной записи. См. Protobuf справочник⁠. Если учетная запись была удалена, в payload будет указано deleted == True. Кроме того, события с низким приоритетом, такие как изменения с участием специального владельца “Vote11111111…” или изменения, не влияющие на данные учетной записи (например, изменения лампортов), были опущены.

              ПРИМЕЧАНИЕ: чтобы проверить задержку субпотоков для аккаунтов Solana, измеряемую как отклонение от головного блока, установите Substreams CLI⁠ и выполните команду substreams run solana-common blocks_without_votes -s -1 -o clock.

              Начало работы

              Предварительные требования

              Прежде чем начать, убедитесь, что у Вас есть следующее:

              1. Субпотоки CLI⁠ установлены.
              2. Ключ субпотока⁠ для доступа к данным об изменении учетной записи Солана.
              3. Базовые знания о том, как использовать⁠ интерфейс командной строки (CLI).

              Шаг 1: Настройка подключения к субпотокам изменений аккаунтов Solana

              Теперь, когда у вас установлен CLI субпотоков, Вы можете настроить подключение к потоку изменений аккаунтов Solana в субпотоках.

              • Используя основной модуль аккаунтов Solana⁠, Вы можете либо транслировать данные напрямую, либо использовать графический интерфейс (GUI) для более наглядного взаимодействия. В следующем примере gui выполняется фильтрация данных аккаунта токена Honey.
              1substreams gui  solana-accounts-foundational filtered_accounts -t +10 -p filtered_accounts="owner:TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA || account:4vMsoUT2BWatFweudnQM1xedRLfJgJ7hswhcpz4xgBTy"
              • Эта команда будет транслировать изменения аккаунта непосредственно в ваш терминал.
              1substreams run  solana-accounts-foundational filtered_accounts -s -1 -o clock

              Основной модуль поддерживает фильтрацию по конкретным аккаунтам и/или владельцам. Вы можете настроить запрос в соответствии с Вашими потребностями.

              Шаг 2: Подключение субпотоков

              Используйте поток данных аккаунтов напрямую в вашем приложении⁠, используя callback-функцию, или сделайте его доступным для запросов, используя SQL-DB sink⁠.

              Шаг 3: Настройка политики переподключения

              Управление курсором⁠ обеспечивает бесперебойную непрерывность и возможность возврата, позволяя возобновить обработку с последнего потребленного блока в случае разрыва соединения. Эта функция предотвращает потерю данных и поддерживает стабильный поток.

              При создании или использовании sink, основной задачей пользователя является предоставление реализаций BlockScopedDataHandler и BlockUndoSignalHandler, которая должна иметь следующий интерфейс:

              1import (2	pbsubstreamsrpc "github.com/streamingfast/substreams/pb/sf/substreams/rpc/v2"3)45type BlockScopedDataHandler = func(ctx context.Context, cursor *Cursor, data *pbsubstreamsrpc.BlockScopedData) error6type BlockUndoSignalHandler = func(ctx context.Context, cursor *Cursor, undoSignal *pbsubstreamsrpc.BlockUndoSignal) error
              ⁠Редактировать на GitHub⁠

              ТранзакцииSink your Substreams
              На этой странице
              • Введение
              • Начало работы
              • Предварительные требования
              • Шаг 1: Настройка подключения к субпотокам изменений аккаунтов Solana
              • Шаг 2: Подключение субпотоков
              • Шаг 3: Настройка политики переподключения
              The GraphСтатусТестовая сетьБрундовые ресурсыФорумБезопасностьПолитика конфиденциальностиУсловия обслуживания