> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Solana Yellowstone gRPC: Transmissão de Dados em Tempo Real

> Transmissão de dados da blockchain Solana de alto desempenho e em tempo real usando o protocolo gRPC com filtragem avançada e entrega de ultra baixa latência para desenvolvedores.

<Note>
  **Procurando o serviço gerenciado gRPC do Helius?** Esta página documenta o protocolo aberto **Yellowstone gRPC** como referência. Para uso em produção com replay histórico de 24 horas, failover multi-node e um ambiente totalmente gerenciado, veja [LaserStream](/docs/pt-BR/laserstream) — a oferta gRPC compatível com Yellowstone do Helius.
</Note>

## O que é o Yellowstone gRPC?

Yellowstone gRPC fornece **transmissão de ultra baixa latência** de dados da blockchain Solana, conectando-se diretamente aos líderes Solana para receber informações conforme são produzidas. Isso entrega dados em tempo real para sua aplicação com atraso mínimo.

<CardGroup cols={2}>
  <Card title="Alto Desempenho" icon="bolt">
    Protocolo binário com serialização eficiente para máxima taxa de transferência e uso mínimo de banda
  </Card>

  <Card title="Transmissão em Tempo Real" icon="wave-pulse">
    Transmissão bidirecional com criação e cancelamento imediato de assinaturas
  </Card>

  <Card title="Filtragem Avançada" icon="filter">
    Controle precisamente quais dados você recebe com filtros de conta, transação e programa
  </Card>

  <Card title="Múltiplos Tipos de Dados" icon="database">
    Inscreva-se em contas, transações, slots, blocos e entradas em um único fluxo
  </Card>
</CardGroup>

## Tipos de Fluxo

<Tabs>
  <Tab title="Contas">
    **Monitore mudanças de conta em tempo real**

    Acompanhe atualizações de saldo, modificações de dados, mudanças de propriedade e eventos de criação/eliminação de contas com opções de filtragem precisas.

    <Card title="Guia de Monitoramento de Contas" icon="user" href="/docs/pt-BR/grpc/account-monitoring">
      Aprenda como transmitir atualizações de contas com exemplos de filtragem
    </Card>
  </Tab>

  <Tab title="Transações">
    **Transmita dados de transação e resultados de execução**

    Receba assinaturas de transação, status de execução, interações de programas e alterações de saldo de token conforme acontecem.

    <Card title="Guia de Monitoramento de Transações" icon="receipt" href="/docs/pt-BR/grpc/transaction-monitoring">
      Monitore transações com filtragem de programas e detalhes de execução
    </Card>
  </Tab>

  <Tab title="Slots & Blocos">
    **Acompanhe o consenso da rede e a produção de blocos**

    Monitore atualizações de slots, criação de blocos e mudanças no estado da rede em diferentes níveis de compromisso.

    <Card title="Guia de Monitoramento de Slots & Blocos" icon="cube" href="/docs/pt-BR/grpc/slot-and-block-monitoring">
      Transmita slots e blocos com detalhes de transações
    </Card>
  </Tab>

  <Tab title="Entradas">
    **Monitoramento de entrada de blockchain de baixo nível**

    Acesse unidades fundamentais de execução contendo lotes de transações e seus resultados.

    <Card title="Guia de Monitoramento de Entradas" icon="code" href="/docs/pt-BR/grpc/entry-monitoring">
      Transmita entradas de blocos com lotes de transações
    </Card>
  </Tab>
</Tabs>

## Como Acessar o Yellowstone gRPC

Escolha a opção que melhor se adapta às suas necessidades:

### LaserStream

[LaserStream](/docs/pt-BR/laserstream/) é um serviço gRPC multi-tenant, altamente disponível, com failover automático e [capacidade de replay histórico de 24 horas](/docs/pt-BR/laserstream/historical-replay). Ideal para a maioria das aplicações em produção.

<Tip>
  Comece com o LaserStream a partir do seu [Painel Helius](https://dashboard.helius.dev/laserstream). Mainnet requer um plano Business ou Professional; Devnet está disponível no Developer e acima. Veja [Planos & Preços](/docs/pt-BR/billing/plans) para detalhes.
</Tip>

### Nós Dedicados

[Nós Dedicados](/docs/pt-BR/dedicated-nodes/) oferecem um endpoint gRPC exclusivo com isolamento de recurso garantido. Melhor para requisitos especializados e operadores avançados.

### Compare Opções de gRPC

Precisa de ajuda para decidir? Leia nosso [guia de comparação gRPC](/docs/pt-BR/laserstream/laserstream-vs-dedicated-nodes) para determinar se o LaserStream ou nós dedicados é a melhor opção para seu caso de uso.

## Início Rápido

Pronto para começar a transmitir?

Comece lendo nosso guia de configuração abrangente, ou comece a partir do seu painel:

<CardGroup>
  <Card title="Início Rápido do Yellowstone gRPC" icon="rocket" href="/docs/pt-BR/grpc/quickstart">
    Cobre instalação, autenticação e configuração do seu primeiro fluxo
  </Card>

  <Card title="Comece Agora" icon="rocket" href="https://dashboard.helius.dev/laserstream">
    Habilite o LaserStream a partir do seu Painel Helius e comece a transmitir.
  </Card>
</CardGroup>

## Estrutura de Solicitação de Assinatura

Toda assinatura gRPC requer uma solicitação devidamente estruturada. Veja como construir uma:

### Parâmetros Principais

<ParamField path="commitment" type="string" required>
  **Nível de compromisso para consistência dos dados**

  * `processed` - Transação processada pelo nó
  * `confirmed` - Transação confirmada pelo cluster
  * `finalized` - Transação finalizada pelo cluster
</ParamField>

<ParamField path="ping" type="boolean" optional>
  **Mantenha a conexão ativa**

  Defina como `true` para receber mensagens pong a cada 15 segundos, prevenindo timeouts de conexão por balanceadores de carga ou proxies.
</ParamField>

<ParamField path="accounts_data_slice" type="array" optional>
  **Otimize a transferência de dados**

  Solicite intervalos específicos de bytes dos dados de conta:

  ```json theme={"system"}
  [
    { "offset": 0, "length": 100 },
    { "offset": 200, "length": 50 }
  ]
  ```
</ParamField>

### Configuração de Filtro

<Accordion title="Filtros de Conta">
  <ParamField path="account" type="array<string>">
    Array de chaves públicas de contas a serem monitoradas (OU lógico)
  </ParamField>

  <ParamField path="owner" type="array<string>">
    Array de chaves públicas de proprietários a serem monitorados (OU lógico)
  </ParamField>

  <ParamField path="filters" type="array<object>">
    Filtros DataSize e Memcmp (E lógico):

    ```json theme={"system"}
    [
      { "dataSize": 165 },
      { "memcmp": { "offset": 0, "bytes": "base58_encoded_bytes" } }
    ]
    ```
  </ParamField>

  <Info>
    Quando múltiplos tipos de filtro são usados, eles operam como E lógico. Dentro de arrays, os valores operam como OU lógico.
  </Info>
</Accordion>

<Accordion title="Filtros de Transação">
  <ParamField path="vote" type="boolean">
    Incluir/excluir transações de voto
  </ParamField>

  <ParamField path="failed" type="boolean">
    Incluir/excluir transações falhas
  </ParamField>

  <ParamField path="signature" type="string">
    Monitorar assinatura de transação específica
  </ParamField>

  <ParamField path="account_include" type="array<string>">
    Incluir transações envolvendo qualquer uma dessas contas (OU lógico)
  </ParamField>

  <ParamField path="account_exclude" type="array<string>">
    Excluir transações envolvendo qualquer uma dessas contas
  </ParamField>

  <ParamField path="account_required" type="array<string>">
    Incluir transações envolvendo todas essas contas (E lógico)
  </ParamField>
</Accordion>

<Accordion title="Filtros de Blocos">
  <ParamField path="account_include" type="array<string>">
    Filtrar transações e contas dentro dos blocos
  </ParamField>

  <ParamField path="include_transactions" type="boolean">
    Incluir todas as transações dentro do bloco
  </ParamField>

  <ParamField path="include_accounts" type="boolean">
    Incluir todas as atualizações de contas dentro do bloco
  </ParamField>

  <ParamField path="include_entries" type="boolean">
    Incluir todas as entradas dentro do bloco
  </ParamField>
</Accordion>

<Accordion title="Filtros de Slots">
  <ParamField path="filter_by_commitment" type="boolean" default="false">
    Quando `true`, receber apenas atualizações de slots para o nível de compromisso especificado. Quando `false`, receber atualizações para todos os níveis de compromisso.
  </ParamField>
</Accordion>

***

## Exemplo: Monitoramento Básico de Transações

Aqui está um exemplo completo para você começar:

```typescript theme={"system"}
import Client, { CommitmentLevel, SubscribeRequest } from "@triton-one/yellowstone-grpc";

const client = new Client("your-grpc-endpoint", "your-api-token", {
  "grpc.max_receive_message_length": 64 * 1024 * 1024
});

const stream = await client.subscribe();

// Handle incoming data
stream.on("data", (data) => {
  if (data.transaction) {
    console.log(`Transaction: ${data.transaction.signature}`);
    console.log(`Success: ${!data.transaction.meta?.err}`);
  }
});

// Subscribe to transactions with complete request structure
const subscribeRequest: SubscribeRequest = {
  transactions: {
    client: {
      accountInclude: [
        "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", // Token Program
        "11111111111111111111111111111111"               // System Program
      ],
      accountExclude: [],
      accountRequired: [],
      vote: false,
      failed: false
    }
  },
  commitment: CommitmentLevel.CONFIRMED,
  ping: { id: 1 }
};

stream.write(subscribeRequest);
```

<Note>
  Este é um exemplo básico. Para uso em produção, implemente manipulação adequada de erros, lógica de reconexão e processamento de dados. Veja nossos guias detalhados para implementações completas.
</Note>

***

## Pronto para Começar?

<CardGroup cols={2}>
  <Card title="Guia Completo de Configuração" icon="rocket" href="/docs/pt-BR/grpc/quickstart">
    Instalação, autenticação e implementação do primeiro fluxo
  </Card>

  <Card title="Transmissão de Dados AMM Pump" icon="chart-line" href="/docs/pt-BR/grpc/stream-pump-amm-data">
    Exemplo do mundo real: monitorar transações AMM Pump
  </Card>
</CardGroup>

## Recursos Avançados

* **[Repositório Source do Yellowstone gRPC](https://github.com/rpcpool/yellowstone-grpc)** - Definições protobuf completas e exemplos
* **[Comunidade no Discord](https://discord.com/invite/6GXdee3gBj)** - Obtenha ajuda de desenvolvedores e da equipe Helius
* **[Documentação do LaserStream](/docs/pt-BR/laserstream/)** - Serviço gRPC aprimorado com recursos adicionais
