NOVO: Helius adquire a Light Protocol
Banner da Dune
Blog/Desenvolvimento

Como criar um dashboard de dados da Solana com a Dune

Plataforma de dados de criptoDune no XDune no LinkedIn
6 min de leitura

A blockchain da Solana é referência em velocidade e escalabilidade, processando milhares de transações por segundo.

Isso cria uma enorme fonte de dados históricos da Solana para analistas e desenvolvedores — mas aproveitá-la exige as ferramentas certas. É aí que entra a Dune, uma importante plataforma de dados onchain que transforma dados brutos da blockchain em insights acionáveis e APIs para desenvolvedores. 

Neste guia, você aprenderá a criar um dashboard completo da Solana na Dune usando métricas em tempo real, tendências históricas e dados decodificados de programas.

Entendendo o volume de dados da Solana

O alto throughput da Solana — muitas vezes superior a 3.000 transações por segundo — gera um volume impressionante de dados. Isso inclui desde a produção de blocos e logs de transações até interações específicas de programas, como swaps de tokens ou emissão de NFTs.

A Dune captura a atividade da Solana em tempo real com latência mínima. Fluxos de dados brutos, como cabeçalhos de blocos e assinaturas de transações, são atualizados em menos de um minuto. Por exemplo, consultar solana.transactions permite monitorar a atividade da rede, como picos de engajamento dos usuários durante o lançamento de um token.

Visualizar esses dados é simples na plataforma da Dune. A Dune indexa todo o histórico da Solana, desde seu bloco gênese em 2020 até o slot mais recente. Isso permite analisar tendências de longo prazo, como o crescimento do total de transações — que já supera 300 bilhões — ou as variações sazonais na atividade DeFi. Por exemplo, esta consulta acompanha as transações acumuladas desde o lançamento da rede, enquanto outra identifica os primeiros e últimos blocos registrados.

Em comparação com Ethereum, BSC ou Polygon, o volume de dados da Solana se destaca por seu alto throughput. Uma comparação lado a lado revela o domínio da Solana em transações diárias, embora a Ethereum ainda lidere em taxas e liquidez DeFi.

Conceitos fundamentais: a estrutura de dados da Solana

Vamos explorar o modelo de contas da Solana, a anatomia de uma transação e como analisar transações da Solana com a Dune.

O modelo de contas da Solana

No centro da Solana está seu modelo de contas exclusivo. Todos os dados onchain são armazenados em contas, incluindo a lógica de programas, saldos de tokens e código executável. Veja o que diferencia as contas da Solana:

Endereços de contas

Um identificador de 32 bytes derivado de uma chave pública ou de seeds para Program Derived Addresses (PDAs). Por exemplo, os endereços dos pools de liquidez da Raydium são PDAs gerados a partir de mints de tokens e outros parâmetros.

Armazenamento de dados

As contas podem armazenar até 10 MB de dados para programas de bytecode executável ou 10 KB para informações de estado em PDAs.

Propriedade e aluguel

As contas precisam manter lamports (frações de SOL) para pagar os custos de armazenamento (aluguel) proporcionais ao tamanho dos dados. O campo owner especifica o programa ou a carteira que controla a conta. Somente o proprietário pode modificar seus dados ou descontar lamports. Uma flag executável indica se a conta contém código executável.

Como exemplo prático, uma conta de token SPL armazena o saldo da carteira associada no campo data, enquanto seu proprietário é o Token Program.

Anatomia de uma transação da Solana

As transações são o meio de interagir com os programas da Solana. Cada transação inclui:

  • Uma signature (identificador exclusivo) e uma taxa paga em lamports
  • Uma ou mais instructions (ixs), que especificam:
    • O programa a ser executado (por exemplo, a função de swap da Raydium).
    • As contas que serão lidas e gravadas (por exemplo, cofres de tokens e carteiras de usuários).
    • Argumentos específicos da instrução (por exemplo, valor do swap e taxas).

As principais características das transações são:

  • Execução atômica: as transações são concluídas por inteiro ou falham — não existem estados parciais.
  • Invocação entre programas (CPI): os programas podem chamar outros programas, criando instruções aninhadas.
  • Logs e erros: transações com falha incluem mensagens de erro, enquanto os logs registram eventos de execução (por exemplo, detalhes de swaps).

Analisando transações na Dune

A tabela solana.transactions da Dune oferece insights detalhados:

  • block_slot: o número do slot em que a transação foi processada.
  • fee: o custo da transação em lamports.
  • error: o motivo da falha (se aplicável).
  • accounts: os endereços de todas as contas envolvidas.
  • log_messages: os logs de eventos emitidos (por exemplo, emissão de tokens).

Para uma análise mais detalhada, use solana.instruction_calls:

  • outer_instruction_index: a posição da instrução dentro da transação.
  • inner_instruction_index: rastreia a hierarquia de CPI. Esta é a posição da inner_instruction na respectiva instrução, o que é diferente de stack_height. No momento, a Dune está trabalhando para adicionar stack_height.
  • executing_account: o programa que executa a instrução.
  • data: os bytes brutos da instrução (codificados em hexadecimal).

Navegando pelos dados da Solana na Dune

A Dune oferece suporte a mais de 150 programas decodificados da Solana, incluindo grandes protocolos como Raydium e Magic Eden. A comunidade já criou mais de 2.000 dashboards, abrangendo métricas que vão do desempenho de validadores às tendências de memecoins. Novos programas são adicionados regularmente. Os usuários podem enviar solicitações de decodificação pelo site da Dune.

A Dune organiza os dados da Solana em três camadas:

1. Dados brutos

Tabelas como solana.blocks e solana.instruction_calls oferecem acesso sem filtros à atividade onchain.

2. Dados tratados

Abstrações pré-processadas, como preços de tokens ou valores equivalentes em USD, simplificam a análise.

3. Dados decodificados

Conjuntos de dados específicos de protocolos (por exemplo, dex.trades para swaps em DEXs ou nft.trades para vendas de NFTs) oferecem métricas prontas para uso.

Para rastrear ativos, explore tabelas como staking.actions, para atividades de validadores, ou prices.usd, para preços de tokens. Analistas de negociação podem usar dex.trades para comparar volumes entre plataformas como Orca e Raydium.

Nos bastidores: como a Dune processa os dados

A Dune ingere dados da Solana por meio de plugins Geyser, que transmitem atualizações onchain ao seu sistema de indexação. Em seguida, os dados brutos são decodificados usando IDLs de programas e organizados em tabelas fáceis de consultar. Para conhecer em detalhes a infraestrutura de dados da Solana, confira o guia da Helius sobre ferramentas de dados da Solana.

Passo a passo: criando seu dashboard da Solana

Etapa 1: defina seu objetivo

Comece identificando uma área de interesse. Você quer analisar vendas de NFTs, rendimentos DeFi ou o desempenho da rede? Neste exemplo, criaremos um dashboard para acompanhar os volumes diários das DEXs.

Etapa 2: consulte os dados

Acesse o editor de consultas da Dune e extraia os dados de negociação de dex.trades:

Código
SELECT DATE(block_time) AS date, SUM(amount_usd) AS volume  
FROM solana.dex.trades  
WHERE project = 'orca'  
GROUP BY 1  
ORDER BY date DESC; 

Isso recupera o volume diário de negociação da Orca. Salve a consulta e visualize os dados como um gráfico de barras.

Etapa 3: monte e personalize

Crie um novo dashboard e adicione seu gráfico. Aprimore-o com widgets adicionais, como um contador para o total de negociações ou uma tabela que classifique os principais tokens por volume. Use caixas de texto para fazer anotações sobre tendências, como picos causados pelo lançamento de um novo token.

Confira esta série de vídeos curtos para acompanhar um tutorial completo sobre como criar um dashboard da Solana na Dune.

Dicas avançadas para análises mais sofisticadas

Dica 1: combine dados brutos e decodificados

Se um programa não estiver totalmente decodificado (por exemplo, um novo marketplace de NFTs), use solana.instruction_calls para analisar os logs manualmente. Depois, faça a referência cruzada com as tabelas de tokens decodificadas para identificar os detalhes dos ativos.

Dica 2: otimize para ganhar velocidade

O volume de dados da Solana pode deixar as consultas mais lentas.

Filtre logo no início por block_slot ou block_time e use visualizações materializadas para métricas acessadas com frequência.

Dica 3: aproveite os feeds de preços

Converta os valores dos tokens em USD combinando as negociações com prices.usd. Isso contextualiza os volumes, especialmente para ativos voláteis.

Considerações finais

A Dune transforma o fluxo intenso de dados da Solana em um recurso estruturado e acessível. Ao dominar seus conjuntos de dados e ferramentas, você pode descobrir insights que orientam decisões — seja para otimizar um protocolo ou acompanhar tendências do mercado.

Para saber mais, explore a arquitetura de plugins Geyser da Solana e assista aos tutoriais em vídeo nesta playlist sobre dados da Solana no YouTube.

Assine a Helius

Acompanhe as novidades mais recentes do desenvolvimento Solana e receba atualizações quando publicarmos

Imagem ampliada