3 minutos
Transações na Solana
Aprenda a inicializar um projeto de Substreams baseado na Solana dentro do Dev Container.
Observação: Este guia exclui Alterações na conta.
Opções
Se prefere começar localmente dentro do seu terminal em vez de através do Dev Container (VS Code necessário), consulte o guia de instalação da CLI do Substreams.
Passo 1: Inicialize o seu projeto do Substreams baseado na Solana
-
Abra o Dev Container e siga os passos na tela para inicializar o seu projeto.
-
Ao executar ‘substreams init’, você poderá escolher entre duas opções do projeto Solana. Selecione a melhor opção para o seu projeto:
- sol-minimal: Isto cria um Substreams simples que extrai dados brutos de bloco da Solana e gera o código de Rust correspondente. Este método fornecerá o bloco bruto completo, e para modificar o comando, você pode navegar para
substreams.yaml
(o manifest). - sol-transactions: Cria um Substreams que filtra transações da Solana com base em uma ou mais IDs de programa e/ou IDs de conta, usando o Módulo de Fundação da Solana no cache.
- sol-anchor-beta: Cria um Substreams que descodifica instruções e eventos com uma IDL (linguagem de definição de interface) do Anchor. Se não houver uma IDL (veja Anchor CLI), forneça uma.
- sol-minimal: Isto cria um Substreams simples que extrai dados brutos de bloco da Solana e gera o código de Rust correspondente. Este método fornecerá o bloco bruto completo, e para modificar o comando, você pode navegar para
Os módulos dentro do Solana Common não incluem transações de votação. Para reduzir o tamanho e os custos do processamento de dados em 75%, atrase o fluxo em mais de 1000 blocos do início. Isto pode ser feito com a função sleep
no Rust.
Para acessar as transações de votação, use o bloco Solana completo, sf.solana.type.v1.Block
.
Etapa 2: Visualize os Dados
-
Execute
substreams auth
para criar a sua conta e gerar um token de autenticação (JWT — JSON Web Token), e depois, passe este token de volta como entrada. -
Agora dá para usar livremente o
substreams gui
, para visualizar e iterar os seus dados extraídos.
Passo 2.5: Transforme os dados (Opcional)
Nos diretórios gerados, modifique os seus módulos de substreams para incluir filtros adicionais, agregações e transformações, e então atualize o manifesto de acordo.
Passo 3: Carregue os dados
Para que os seus Substreams possam ser consultados (ao contrário de transmissões diretas), é possível gerar um Subgraph movido a Substreams ou um coletor de dados em SQL-DB.
Subgraph
- Execute
substreams codegen subgraph
para inicializar o coletor, assim produzindo os arquivos e definições de função necessários. - Crie os seus mapeamentos de Subgraph dentro do
mappings.ts
e as entidades associadas dentro doschema.graphql
. - Construa e implante localmente, ou para o Subgraph Studio, com o comando
deploy-studio
.
SQL
- Execute
substreams codegen sql
e escolha entre ClickHouse ou Postgres para inicializar o coletor, produzindo os arquivos necessários. - Execute o
substreams build
para construir o coletor da Substream SQL. - Execute
substreams-sink-sql
para despejar os dados no seu banco de dados preferido da SQL.
Observação: Execute help
para navegar melhor pelo ambiente de programação e verificar a saúde dos contêineres.
Outros Recursos
Esses recursos adicionais podem ser úteis para programar o seu primeiro aplicativo da Solana.
- A Referência do Dev Container ajuda a navegar o contêiner e os seus erros comuns.
- A referência da CLI possibilita a exploração de todas as ferramentas disponíveis na CLI dos Substreams.
- A Referência de Componentes elabora sobre como navegar o
substreams.yaml
.