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, puede crear al instante un entorno de desarrollo para bots de Solana que usan flujos de datos de alto rendimiento.
bash
slv b init
  • Use geyser-ts si prefiere un bot Geyser en TypeScript
  • Use geyser-rust si prefiere un bot Geyser en Rust

Permitir el balanceador de carga gRPC IPs

El nodo más cercano a su IP registrada se elige mediante comprobaciones de ping en tiempo real desde cada balanceador de carga regional de gRPC. Si ICMP está bloqueado por un cortafuegos (ufw, grupos de seguridad, etc.), el ping puede mostrar 9999ms, lo que puede impedir que se seleccione la región óptima más cercana. Permita las IP siguientes para que la región más cercana se elija automáticamente.
RegionDomainIP Address
🇳🇱 Amsterdamgrpc-ams1.erpc.global84.32.103.245
🇳🇱 Amsterdamgrpc-ams1.erpc.global84.32.64.77
🇺🇸 New Yorkgrpc-ny6-1.erpc.global64.130.37.222
🇩🇪 Frankfurtgrpc-fra1-1.erpc.global185.191.118.149
🇩🇪 Frankfurtgrpc-fra1-1.erpc.global185.191.118.177
🇩🇪 Frankfurtgrpc-fra1-1.erpc.global185.191.118.206
🇬🇧 Londongrpc-lon6-1.erpc.global67.209.52.250
🇯🇵 Tokyogrpc-tokyo-6.erpc.global198.13.133.88
🇸🇬 Singaporegrpc-sgp6-1.erpc.global202.8.11.52
🇦🇺 Sydneygrpc-syd-1.erpc.global82.26.116.36
🛰️ Far Pointgrpc-far-point.erpc.global63.254.162.14

Endpoints Burst gRPC

Geyser gRPC Burst es el nivel gRPC compartido de baja latencia de ERPC para cargas de trabajo de streaming Solana sensibles a la latencia. Burst usa la misma interfaz Yellowstone/Geyser gRPC que el servicio gRPC regular, por lo que los clientes gRPC existentes pueden seguir usando suscripciones estándar de account, transaction, slot y block.
Burst opera actualmente en Frankfurt, Amsterdam, New York, Tokyo y Singapore. La selección por latencia sigue usando las IP de origen de ping gRPC regulares listadas arriba; las IP de los balanceadores Burst que aparecen abajo son los endpoints Burst públicos que deben permitirse para las conexiones de clientes.
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 el endpoint mostrado en ERPC Web Dashboard después de registrar su IP. Burst sigue siendo un stream Geyser gRPC completo; Direct Shreds/ShredStream es un producto separado basado en UDP para datos shred sin procesar.

Ejemplo de cliente Geyser – TypeScript

  1. Cambie el nombre de .env.sample a .env
  2. Edite .env con sus valores reales:
ini
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. Obtenga y configure el endpoint adecuado para su entorno.
  1. Instalar dependencias e iniciar el servidor de desarrollo:
bash
pnpm i
pnpm dev
Geyser TypeScript VSCode

Ejemplo de cliente Geyser – Rust

  1. Cambie el nombre de .env.sample a .env
  2. Edite .env con sus valores reales:
ini
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. Obtenga y configure el endpoint adecuado para su entorno.
  1. Construir y ejecutar el cliente:
bash
RUST_LOG=info cargo run
Geyser Rust VSCode

Prueba gratuita de 1 día disponible

Los bots Geyser y Shreds se pueden probar de forma gratuita durante 1 día a través de ERPC Dashboard.

Solana Stream SDK

Solana Stream SDK
El adaptador Geyser utilizado en el código inicial descargado mediante el comando slv b init
es proporcionado por el código abierto Solana Stream SDK.
Admite tanto Rust como TypeScript, permitiendo la implementación eficiente de la comunicación de flujo Solana,
incluyendo las suscripciones Geyser, tratamiento de transacciones y monitoreo de actualización de la cuenta en tiempo real.
El código inicial que obtiene es un ejemplo directo de este SDK en acción,
haciendo fácil extender para su propio desarrollo de bot o lógica personalizada.
Para más detalles, visite el repositorio GitHub:
https://github.com/ValidatorsDAO/solana-stream