Solana Geyser gRPC - Inicio rápido

Instala SLV

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

$ slv b init

slv b init
Con un solo comando, slv b init, puedes crear al instante un entorno de desarrollo para bots de Solana que usan flujos de datos de alto rendimiento.
bash
slv b init
  • Usa geyser-ts si prefieres un bot Geyser en TypeScript
  • Usa geyser-rust si prefieres un bot Geyser en Rust

Permitir fuentes de sondeo de latencia ICMP

Para seleccionar la región de gRPC, ERPC envía sondeos de latencia ICMP a tu IP registrada desde los hosts proxy que se indican a continuación. Permite solicitudes de eco ICMP entrantes desde todas las IP de origen indicadas. Si un firewall (ufw, firewall en la nube, grupo de seguridad, etc.) las bloquea, la medición puede mostrar 9999ms y podría seleccionarse una región no óptima. Varias IP en una misma región corresponden a hosts de sondeo distintos; todas son necesarias.
RegiónIP de origen ICMP
🇳🇱 Amsterdam82.21.43.34, 151.244.92.36
🇺🇸 New York151.243.244.5
🇩🇪 Frankfurt151.241.178.20, 151.241.178.34, 151.241.178.21
🇬🇧 London151.241.65.4
🇯🇵 Tokyo143.20.238.66
🇸🇬 Singapore151.245.186.2
🛰️ Far Point143.20.238.73

Ejemplo de cliente Geyser – TypeScript

  1. Cambia el nombre de .env.sample a .env
  2. Edita .env con tus valores reales:
env
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Nota:
Este endpoint es solo una muestra y no se puede utilizar tal cual. Obtén y configura el endpoint adecuado para tu entorno.
  1. Instala las dependencias e inicia el servidor de desarrollo:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

Ejemplo de cliente Geyser – Rust

  1. Cambia el nombre de .env.sample a .env
  2. Edita .env con tus valores reales:
env
GEYSER_ENDPOINT=http://grpc-ams1.erpc.global
SOLANA_RPC_ENDPOINT="https://edge.erpc.global?api-key=YOUR_API_KEY"
Nota:
Este endpoint es solo una muestra y no se puede utilizar tal cual. Obtén y configura el endpoint adecuado para tu entorno.
  1. Compila y ejecuta el cliente:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode

Solana Stream SDK

Solana Stream SDK
El adaptador Geyser utilizado en el código inicial descargado mediante el comando slv b init
lo proporciona Solana Stream SDK, de código abierto.
Admite tanto Rust como TypeScript y permite implementar de forma eficiente la comunicación por stream de Solana,
incluidas las suscripciones de Geyser, el procesamiento de transacciones y la supervisión en tiempo real de las actualizaciones de cuentas.
El código inicial que obtienes es un ejemplo directo de este SDK en acción,
lo que facilita extenderlo para tu propio desarrollo de bot o lógica personalizada.
Para más información, visita el repositorio de GitHub:
https://github.com/ValidatorsDAO/solana-stream