Solana Mainnet RPC - Quickstart

Introducción

Para desplegar una red de red de Solana RPC, utilizará la herramienta de línea de comandos SLV. Esta guía de inicio rápido explica cómo utilizar la herramienta de línea de comandos SLV para desplegar un RPC de Solana mainnet con plugin Geyser Yellowstone.
Debes tener Ubuntu 24.04 LTS limpio instalado en su servidor.

Preparación de un servidor bare metal

Si bien es posible ejecutar un cliente Solana en VPS o máquina virtual (VM), lograr un rendimiento óptimo y una operación estable es difícil. Los nodos y validadores de RPC, en particular, operan bajo condiciones de alta carga, lo que hace que sea crucial para establecer un entorno de servidor adecuado.
Solana recomienda oficialmente usar servidores bare metal.
Los ganglios RPC varían mucho dependiendo del volumen de trabajo.
RPC estándar (SendTx / Geyser gRPC) e índice RPC (indización completa) difieren significativamente, especialmente en los requisitos de memoria y almacenamiento.
Requisitos de hardware de PCR (directriz)
ComponenteRPC NodeIndexed RPC (referencia)
CPU24 núcleos+ @ 2.8GHz+ / AMD Gen3+ / Intel Ice Lake+ / SHA extensiones / AVX232 núcleos+ (reloj alto recomendado)
RAM512GB+1152GB+
DiskNVMe Gen3 x4 o mejor / Cuentas / Ledger / Separación de instantáneas recomendadaMayor capacidad + alta TBW / separación recomendada
Red1Gbps o superior1Gbps o superior (más ancho de banda es preferible)
GPUNo se requiereNo se requiere
Nota:
La velocidad del reloj y el rendimiento eficaz se consideran más importantes que el recuento básico.
Indexed RPC puede ser embotellado por memoria y almacenamiento, por lo que asegurar suficiente capacidad y alta IOPS.
Si se requiere indexación, recomendamos 768GB o más, y 1152 GB o más para una operación estable.
SLV Metal proporciona servidores bare metal diseñados para ofrecer el máximo rendimiento dentro de su presupuesto.
Al ejecutar el comando slv metal list, usted puede encontrar el RPC opción específicamente adaptada para los nodos de Solana RPC.
bash
slv metal list
? 🛡️ Select SLV BareMetal Type (APP)
  📦 APP - For Trade Bot,Testnet Validator, DApp and More!
  🚀 MV - For Solana Mainnet Validator
 🛡️⚡️ RPC - For Solana RPC Node
Si aún no ha establecido su servidor baremetal, por favor siga el Guía de configuración del servidor bare metal.
Además, consulte los siguientes recursos:

Despliegue Solana RPC Node

Primero, inicialice la configuración de Solana RPC. Por favor seleccione la red como su red Solana deseada.
bash
slv rpc init
? Select Solana Network (mainnet)
  testnet
  devnet
 mainnet
A continuación, confirme si tiene un servidor compatible con Nodo Solana.
bash
? 🛡️ Do you have a Solana Node Compatible Server? (yes)
 yes
  no
Este tutorial supone que usted selecciona yes.

Establecer usuario del servidor y dirección IP

Establecer el usuario del servidor, dirección IP y la ruta clave RSA.
bash
? What's the user for the server? (root) › root
? Enter the server IP address › x.x.x.x
? What's the path to your RSA key? (~/.ssh/id_rsa)

Detección de Región Automática

A continuación, el sistema ping cada motor de bloque de su nodo configurado para detectar automáticamente la región más cercana. Mediante la medición de valores reales de ping, puede seleccionar la región óptima.
bash
🔍 Checking SSH connection...
✔︎ SSH connection succeeded

📍 Measuring latencies from x.x.x.x to mainnet regions...
  Pinging Amsterdam (amsterdam.mainnet.block-engine.jito.wtf)...
  Pinging Dublin (dublin.mainnet.block-engine.jito.wtf)...
  Pinging Frankfurt (frankfurt.mainnet.block-engine.jito.wtf)...
  Pinging London (london.mainnet.block-engine.jito.wtf)...
  Pinging New York (ny.mainnet.block-engine.jito.wtf)...
  Pinging Salt Lake City (slc.mainnet.block-engine.jito.wtf)...
  Pinging Singapore (singapore.mainnet.block-engine.jito.wtf)...
  Pinging Tokyo (tokyo.mainnet.block-engine.jito.wtf)...
 Singapore: 0.291 ms
 London: 154.071 ms
 Dublin: 167.267 ms
 Frankfurt: 149.081 ms
 Amsterdam: 154.501 ms
 New York: 228.624 ms
 Salt Lake City: 278.016 ms
 Tokyo: 376.816 ms

🎯 Nearest region: 🇸🇬 Singapore
   Latency: 0.291 ms
   Block Engine: https://singapore.mainnet.block-engine.jito.wtf
   Shred Receiver: 202.8.11.224:1002
   Relayer: http://singapore.mainnet.relayer.jito.wtf:8100
   NTP Server: ntp.singapore.jito.wtf

Generar Keypair Identidad

Si no tienes un teclado de identidad, puedes generar uno nuevo.
bash
? Do you want to create a new identity key now? (Y/n) › Yes
🔑 Generating new identity key...
 Generated Key: p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
 Moved Key to: ~/.slv/keys/p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV.json

Seleccionar Solana CLI

Seleccione la versión Solana CLI.
bash
? Select Solana CLI (jito)
  agave
 jito
  firedancer-agave
  firedancer-jito

Seleccione el tipo RPC

Seleccione el tipo RPC.
bash
? Select an RPC type
 Geyser gRPC
  Index RPC
  SendTx RPC
  Index RPC + gRPC
En este tutorial, seleccionamos Geyser gRPC.

Confirmación de configuración

Por último, confirma la configuración.
bash
✔︎ Success
 Inventory updated to ~/.slv/inventory.mainnet.rpcs.yml
 Successfully created solv user on p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
✔︎ mainnet_rpcs inventory file has been saved to ~/.slv/inventory.mainnet.rpcs.yml
Now you can deploy with:

$ slv rpc deploy -n mainnet -p p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
Después de eso, el solv el usuario se crea en el servidor de bare metal, y la configuración de Solana RPC se guarda ~/.slv/inventory.mainnet.rpcs.yml.

Despliegue Solana RPC Node

Una vez que confirme la configuración, el despliegue comenzará.
bash
slv rpc deploy -n mainnet -p p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
bash
Your mainnet RPC Nodes Settings:
┌──────────────┬─────────────────────────────────────────────┐
 Identity Key p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
├──────────────┼─────────────────────────────────────────────┤
 Name p3tnYqjciWz8DnjApUVDPWTEhdzdX6qvqTaRCrckSLV
├──────────────┼─────────────────────────────────────────────┤
 IP x.x.x.x.
├──────────────┼─────────────────────────────────────────────┤
 Region singapore
├──────────────┼─────────────────────────────────────────────┤
 RPC Type Geyser gRPC
├──────────────┼─────────────────────────────────────────────┤
 Version 3.0.7-jito
└──────────────┴─────────────────────────────────────────────┘
.
.
.
Successfully Deployed RPC on mainnet
⚡️⚡️⚡️ Enhanced Solana RPC Connection API Key ⚡️⚡️⚡️

We're excited to offer a free API key exclusively for the Validators DAO community 🎉
It's our way of supporting the community and empowering you with fast, reliable connections.

To get your Free API key, simply join us through the link below:

Validators DAO: `https://discord.gg/X4BgkBHavp`

Unlock fast connections and elevate your experience with your very own API key 🚀

You can monitor your Node with the following steps:

Log in to your server with SSH:
ssh [email protected]

Then, run the following command to monitor your node:
$ solv m
¡Está hecho! Su nodo de Solana RPC ahora está desplegado. Tardará algún tiempo en sincronizar con la red Solana.

Depuracion y monitoreo

Después del despliegue, puede comprobar el estado del nodo de Solana RPC con el siguiente comando:
bash
ssh solv@<your-server-ip>
solv m
solv es un alias agave-validator -l /mnt/ledger. Este ajuste se añade a ~/.profile durante el despliegue de los nodos RPC.

Comandos SLV RPC

bash
Usage:   slv rpc
Version: 0.9.700

Description:

  🛠️ Manage Solana RPC Nodes 🛠️

Options:

  -h, --help  - Show this help.

Commands:

  init                - 🚀 Initialize a new RPC node configuration
  deploy              - 📦 Deploy RPC Nodes
  list                - 📋 List RPC Nodes
  setup:firedancer    - 🔥 Setup/Update Firedancer Validator
  update:firedancer   - 🔄 Update Firedancer Version
  build:solana-cli    - 🛠️ Build Solana CLI from Source
  install:solana      - ➡️ Install Solana CLI Binary
  update:script       - ⚙️ Update RPC Startup Config
  update:geyser       - ⚡️ Update Geyser Version
  start               - 🟢 Start RPC
  stop                - 🔴 Stop RPC
  restart             - ♻️ Restart RPC
  cleanup             - 🧹 Cleanup RPC - Remove Ledger/Snapshot Unnecessary Files
  get:snapshot        - 💾 Download Snapshot with aria2c
  update:allowed-ips  - 🛡️ Update allowed IPs for mainnet RPC nodes