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

                3 минуты

                Транзакции Solana

                Узнайте, как инициализировать проект Substreams на основе Solana в рамках Dev Container.

                Примечание: Этот гид не включает Изменения аккаунтов.

                Параметры

                Если вы предпочитаете начать работу локально в вашем терминале, а не через Dev Container (требуется VS Code), обратитесь к руководству по установке Substreams CLI⁠.

                Шаг 1: Инициализация Вашего проекта субпотоков Solana

                1. Откройте Dev Container⁠ и следуйте шагам на экране, чтобы инициализировать Ваш проект.

                2. Выполнив команду substreams init, Вам будет предложено выбрать между двумя вариантами проектов для Solana. Выберите наиболее подходящий вариант для Вашего проекта:

                  • sol-minimal: Этот вариант создаёт простые субпотоки, которые извлекают сырые данные блоков Solana и генерирует соответствующий код на Rust. Этот путь начнёт с полного сырого блока, и вы сможете перейти к файлу substreams.yaml (манифест), чтобы изменить входные данные.
                  • sol-transactions: Этот вариант создаёт субпотоки, которые фильтруют транзакции Solana на основе одного или нескольких Program ID и/или Account ID, используя кешированный Solana Foundational Module⁠.
                  • sol-anchor-beta: Этот вариант создаёт субпотоки, которые декодируют инструкции и события с использованием Anchor IDL. Если IDL недоступен (смотрите Anchor CLI⁠), Вам нужно будет предоставить его самостоятельно.

                Модули в Solana Common не включают транзакции голосования. Чтобы уменьшить размер и затраты на обработку данных на 75%, задержите Ваш поток на более чем 1000 блоков от начала. Это можно сделать с помощью функции sleep⁠ в Rust.

                Чтобы получить доступ к транзакциям голосования, используйте полный блок Solana, sf.solana.type.v1.Block, в качестве входных данных.

                Шаг 2: Визуализация данных

                1. Выполните команду substreams auth, чтобы создать Ваш аккаунт⁠ и сгенерировать токен аутентификации (JWT), затем передайте этот токен обратно в качестве входных данных.

                2. Теперь Вы можете свободно использовать команду substreams gui, чтобы визуализировать и итеративно работать с Вашими извлечёнными данными.

                Шаг 2.5: (По желанию) Преобразование данных

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

                Шаг 3: Загрузка данных

                Чтобы сделать Ваш запрос в субпотоках доступным для выполнения (в отличие от прямой трансляции⁠), Вы можете автоматически сгенерировать субграф на базе субпотоков или базу данных SQL sink.

                Субграф

                1. Выполните команду substreams codegen subgraph, чтобы инициализировать sink, создавая необходимые файлы и определения функций.
                2. Создайте Ваши мэппинги субграфа в файле mappings.ts и связанные объекты в файле schema.graphql.
                3. Создайте и разверните локально или в Subgraph Studio, выполнив команду deploy-studio.

                SQL

                1. Выполните команду substreams codegen sql и выберите либо ClickHouse, либо Postgres, чтобы инициализировать sink и создать необходимые файлы.
                2. Выполните команду substreams build, чтобы собрать sink SQL субпотока⁠.
                3. Выполните команду substreams-sink-sql, чтобы записать данные в выбранную Вами базу данных SQL.

                Примечание: Выполните команду help, чтобы лучше ориентироваться в среде разработки и проверить состояние контейнеров.

                Дополнительные ресурсы

                Вам могут быть полезны следующие дополнительные ресурсы для разработки Вашего первого приложения на Solana.

                • Справочник по Dev Container поможет Вам ориентироваться в контейнере и решать распространённые ошибки.
                • Справочник по CLI⁠ позволяет Вам изучить все инструменты, доступные в CLI субпотоков.
                • Справочник по компонентам⁠ более подробно объясняет, как работать с файлом substreams.yaml.
                ⁠Редактировать на GitHub⁠

                Контейнер для разработкиAccount Changes
                На этой странице
                • Параметры
                • Шаг 1: Инициализация Вашего проекта субпотоков Solana
                • Шаг 2: Визуализация данных
                • Шаг 2.5: (По желанию) Преобразование данных
                • Шаг 3: Загрузка данных
                • Субграф
                • SQL
                • Дополнительные ресурсы
                The GraphСтатусТестовая сетьБрундовые ресурсыФорумБезопасностьПолитика конфиденциальностиУсловия обслуживания