3 minutos
Alterações de Conta da Solana
Aprenda a consumir dados de mudança de conta da Solana com o Substreams.
Introdução
Este guia te ensina o processo de configuração do seu ambiente, como configurar o seu primeiro fluxo do Substreams, e como consumir mudanças de conta com eficiência. Ao fim deste guia, você terá um feed funcional Substreams que te permite acompanhar as mudanças de conta em tempo real na blockchain Solana, além dos dados históricos dessas mudanças.
OBSERVAÇÃO: Histórico de Datas de Alteração de Conta na Solana, datado de 2025, bloco 310629601.
Para cada bloco de conta da Solana no Substreams, apenas a última atualização por conta é registada; vide a Referência do Protobuf. Se uma conta for excluída, será fornecida uma carga útil com deleted == True
. Além disto, eventos de baixa importância são omitidos, tais como os que tem a conta de proprietário especial “Vote111111…”, ou alterações que não afetam os dados da conta (ex: alterações no lamport).
OBSERVAÇÃO: Para testar a latência do Substreams para contas Solana, medida como atraso de cabeça de blocos, instale o Substreams CLI e execute substreams run solana-common blocks_without_votes -s -1 -o clock
.
Como Começar
Pré-requisitos
Antes de começar, certifique-se de que:
- Instalou a CLI do Substreams.
- Tem uma Chave do Substreams para acessar os dados de alteração na conta da Solana.
- Tem conhecimento básico sobre como usar a interface de linha de comando (CLI).
Passo 1: Configure uma conexão para o Substreams de Alterações na Conta da Solana
Agora que tem a CLI do Substreams instalada, é possível montar uma conexão com o feed do Substreams de Alterações na Conta da Solana.
- Com o Módulo Fundamental de Contas da Solana, dá para transmitir dados diretamente, ou usar a interface gráfica para uma experiência mais visual. O seguinte exemplo de
gui
filtra dados de conta da Honey Token.
1substreams gui solana-accounts-foundational filtered_accounts -t +10 -p filtered_accounts="owner:TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA || account:4vMsoUT2BWatFweudnQM1xedRLfJgJ7hswhcpz4xgBTy"
- Este comando transmitirá alterações de conta diretamente ao seu terminal.
1substreams run solana-accounts-foundational filtered_accounts -s -1 -o clock
O módulo fundamental apoia a filtragem de contas e/ou proprietários específicos. O query pode ser ajustado conforme as suas necessidades.
Passo 2: Colete o Substreams
Consuma o fluxo da conta diretamente no seu aplicativo com um callback, ou abra-o a queries com o coletor SQL-DB.
Passo 3: Monte uma Política de Reconexão
A Gestão de Cursor garante continuidade e rastreabilidade perfeitas, permitindo uma retomada do último bloco consumido se a conexão for interrompida. Esta funcionalidade impede a perda de dados e mantém um fluxo persistente.
Ao criar ou usar um coletor, a principal responsabilidade do utilizador é fornecer implementações do BlockScopedDataHandler e uma(s) implementação(ões) de BlockUndoSignalHandler, que tem a seguinte interface:
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