Docs
搜索⌘ K
  • 主页
  • 关于 The Graph
  • 支持的网络
  • 协议合约
  • 子图
    • 子流
      • 代币 API
        • AI Suite
          • 索引
            • 资源
              子流 > Developing > Solana

              3 分钟

              Solana帐户更改

              了解如何使用Substreams使Solana帐户更改数据。

              介绍

              本指南将引导您完成设置环境、配置第一个子流和高效使用帐户更改的过程。在本指南结束时,您将有一个可用的Substreams提要,允许您跟踪Solana区块链上的实时帐户更改以及历史帐户更改数据。

              注意:Solana帐户更改的历史日期为2025年,块310629601。

              对于每个Substreams Solana帐户块,只记录每个帐户的最新更新,请参阅Protobuf Referece⁠。如果删除了帐户,则会提供deleted == True的有效载荷。此外,忽略了不太重要的事件,例如具有特殊所有者“Vote11111111…”帐户的事件或不影响帐户数据的更改(例如:lamport更改)。

              注意:要测试Solana帐户的Substreams延迟(以块头漂移衡量),请安装Substreams CLI⁠,运行substreams run solana-common blocks_without_votes-s-1-oclock。

              开始

              先决条件

              在开始之前,请确保您拥有以下内容:

              1. 已安装Substreams CLI⁠ 。
              2. 用于访问Solana帐户更改数据的Substreams密钥⁠。
              3. 了解如何使用⁠命令行界面(CLI)。

              步骤1:设置与Solana帐户更改子流的连接

              现在您已经安装了Substreams CLI,可以设置与Solana Account Change Substreams提要的连接。

              • 使用Solana Accounts Foundation模块⁠,您可以选择直接流式传输数据或使用GUI以获得更直观的体验。以下gui示例过滤Honey Token帐户数据。
              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:存储子流

              使用回调直接在应用程序⁠ 中使用帐户流,或者使用SQL-DB sink⁠使其可查询。

              步骤3:设置重新连接策略

              策展管理⁠允许您在连接中断时从最后一个消耗的块恢复,从而确保无缝的连续性和可追溯性。此功能可防止数据丢失并保持持久流。

              在创建或使用接收器时,用户的主要责任是提供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上编辑⁠

              交易将您的子流链接出去
              在此页面上
              • 介绍
              • 开始
              • 先决条件
              • 步骤1:设置与Solana帐户更改子流的连接
              • 步骤2:存储子流
              • 步骤3:设置重新连接策略
              The GraphStatusTestnetBrand AssetsForum安全Privacy PolicyTerms of Service