Docs
Поиск⌘ K
  • Главная страница
  • О The Graph
  • Поддерживаемые сети
  • Protocol Contracts
  • Субграфы
    • Субпотоки
      • Token API
        • Hypergraph
          • AI Suite
            • Индексирование
              • Graph Horizon
                • Ресурсы
                  Субпотоки > 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СтатусТестовая сетьБрундовые ресурсыФорумБезопасностьПолитика конфиденциальностиУсловия обслуживания