Solana Geyser gRPC - Quickstart

Instalar o SLV

bash
curl -fsSL https://storage.slv.dev/slv/install | sh

$ slv b init

slv b init
Com um único comando, slv b init, você pode imediatamente criar um ambiente de desenvolvimento para robôs Solana usando dados baseados em fluxo de alto desempenho.
bash
slv b init
  • Use geyser-ts se preferir um bot TypeScript Geyser
  • Use geyser-rust se preferir um bot Rust Geyser

Permitir origens de sondas de latência ICMP

Para a seleção da região de gRPC, a ERPC envia sondas de latência ICMP ao seu IP registrado a partir dos hosts proxy listados abaixo. Permita solicitações de eco ICMP de entrada de todos os IPs de origem listados. Se forem bloqueadas por um firewall (ufw, firewall na nuvem, grupo de segurança etc.), a medição poderá resultar em 9999ms e uma região não ideal poderá ser selecionada. Vários IPs em uma mesma região correspondem a hosts de sonda distintos; todos são necessários.
Região da sondaIPs de origem ICMP
🇳🇱 Amsterdam84.32.103.245, 84.32.64.77
🇺🇸 New York64.130.37.222
🇩🇪 Frankfurt185.191.118.149, 185.191.118.177, 185.191.118.206
🇬🇧 London67.209.52.250
🇯🇵 Tokyo198.13.133.88
🇸🇬 Singapore202.8.11.52
🇦🇺 Sydney82.26.116.36
🛰️ Far Point63.254.162.14

Endpoints gRPC Burst

Geyser gRPC Burst é o nível gRPC compartilhado de baixa latência da ERPC para cargas de trabalho de streaming Solana sensíveis à latência. O Burst usa a mesma interface Yellowstone/Geyser gRPC do serviço gRPC regular, então clientes gRPC existentes podem continuar usando assinaturas padrão de account, transaction, slot e block.
Burst usa as mesmas origens regionais de sondas ICMP listadas acima para selecionar a região com base na latência. Os endereços abaixo são IPs de endpoints de cliente Burst, não origens de sondas ICMP; permita-os apenas se o firewall de saída restringir conexões ao endpoint selecionado.
RegionBurst DomainIP Address
🇩🇪 Frankfurtgrpc-fra1-burst.erpc.global64.130.41.234
🇳🇱 Amsterdamgrpc-ams1-burst.erpc.global64.130.55.180
🇺🇸 New Yorkgrpc-ny6-burst.erpc.global64.130.59.217
🇯🇵 Tokyogrpc-tokyo-burst.erpc.global208.91.107.247
🇸🇬 Singaporegrpc-singapore-burst.erpc.global67.209.55.15
Use o endpoint exibido no ERPC Web Dashboard depois de registrar seu IP. O Burst continua sendo um stream Geyser gRPC completo; Direct Shreds/ShredStream é um produto separado baseado em UDP para dados shred brutos.

Exemplo do cliente Geyser – TypeScript

  1. Renomeie .env.sample para .env
  2. Edite .env com seus valores reais:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Nota:
Este endpoint é um exemplo e não pode ser usado como está. Por favor, obtenha e configure o endpoint apropriado para o seu ambiente.
  1. Instale dependências e inicie o servidor de desenvolvimento:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

Exemplo do cliente Geyser – Rust

  1. Renomeie .env.sample para .env
  2. Edite .env com seus valores reais:
ini
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Nota:
Este endpoint é um exemplo e não pode ser usado como está. Por favor, obtenha e configure o endpoint apropriado para o seu ambiente.
  1. Compilar e executar o cliente:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode

1 dia de teste grátis disponível

Os bots Geyser e Shreds podem ser testados gratuitamente por 1 dia através do Painel Web ERPC.

Solana Stream SDK

Solana Stream SDK
O adaptador Geyser usado no código inicial baixado através do slv b init comando
é fornecido pelo código aberto Solana Stream SDK.
Ele suporta tanto Rust quanto TypeScript, permitindo a implementação eficiente da comunicação de fluxo Solana,
incluindo assinaturas da Geyser, processamento de transações e monitoramento da atualização da conta em tempo real.
O código inicial que você obtém é um exemplo direto deste SDK em ação,
tornando mais fácil estender para o seu próprio desenvolvimento bot ou lógica personalizada.
Para mais detalhes, visite o repositório GitHub:
https://github.com/ValidatorsDAO/solana-stream