Conceptos básicos de la CLI de Solana
10 ejemplos para empezar con la CLI de Solana: 7 básicos y 3 intermedios.
Requisitos previos
Instala la cadena de herramientas Agave (la CLI de Solana 3.0.10 incluye Agave 4.1.1):
sh -c "$(curl -sSfL https://release.anza.xyz/v4.1.1/install)"
solana --version
# solana-cli 3.0.10Añade el directorio de instalación a tu PATH si el instalador te lo pide. Necesitas un par de claves predeterminado antes de enviar transacciones; consulta Pares de claves con solana-keygen.
Ejemplos básicos
1. Comprobar la versión de la CLI
Confirma que la CLI y las herramientas del clúster coinciden con tu pila fijada.
solana --version
agave-install --version- Imprime
solana-cli 3.0.10cuando está alineado con Agave 4.1.1. - Las versiones no coincidentes causan sutiles errores de RPC y despliegue.
- Fija versiones por proyecto con
agave-install(consulta Gestión de versiones).
Relacionado: Descripción general de la cadena de herramientas - cómo encajan las piezas
2. Ver la configuración actual
Consulta qué URL de RPC, par de claves y nivel de compromiso utiliza la CLI.
solana config getRPC URLes donde todos los comandos envían solicitudes JSON-RPC.Keypair Pathes la identidad de firma para transferencias y despliegues.Commitmentpor defecto esconfirmed- bueno para flujos de trabajo de desarrollo.
Relacionado: Conceptos básicos de RPC - niveles de compromiso explicados
3. Apuntar a Devnet
Cambia la CLI a la devnet pública de Solana para obtener airdrops y pruebas gratuitas.
solana config set --url devnet
solana config getdevnetse resuelve en el punto final público de RPC de devnet.- El SOL de Devnet no tiene valor real; ajusta tus expectativas para los saldos.
- Usa
mainnet-betasolo cuando pretendas gastar SOL real.
Relacionado: Airdrops y saldos - financia tu billetera de desarrollo
4. Apuntar a Localnet
Dirígete a una instancia de solana-test-validator en tu máquina.
solana config set --url http://127.0.0.1:8899
solana config get- El puerto
8899es el puerto JSON-RPC predeterminado parasolana-test-validator. - Localnet proporciona una iteración determinista y rápida sin límites de tasa.
- Restablece la configuración a devnet cuando termines el trabajo local.
Relacionado: solana-test-validator - inicia un clúster local
5. Establecer el par de claves predeterminado
Indica a la CLI qué par de claves firma las transacciones salientes.
solana config set --keypair ~/.config/solana/id.json
solana addresssolana addressimprime la clave pública derivada del archivo del par de claves.- Nunca envíes archivos JSON de pares de claves a git.
- Utiliza pares de claves separados por entorno (local, devnet, mainnet).
Relacionado: Pares de claves con solana-keygen - genera y recupera claves
6. Comprobar el saldo de la billetera
Lee los lamports para el par de claves configurado.
solana balance
solana balance <PUBKEY>- El saldo se muestra en SOL; internamente la cadena almacena lamports (1 SOL = 10^9 lamports).
- Un saldo cero bloquea las comisiones de transacción; haz un airdrop en devnet primero.
- Utiliza una clave pública específica para inspeccionar cualquier cuenta, no solo la tuya por defecto.
Relacionado: Airdrops y saldos - solicita SOL de devnet
7. Inspeccionar el estado del clúster
Verifica que el punto final de RPC sea accesible y esté produciendo slots.
solana cluster-version
solana slotcluster-versionconfirma la versión del software validador en el clúster.slotdevuelve el slot actual; si se detiene, tu RPC podría no estar en buen estado.- Compara la progresión de los slots entre dos llamadas para detectar un punto final atascado.
Relacionado: Proveedores de RPC - cuándo usar un RPC dedicado
Ejemplos intermedios
8. RPC personalizado con clave API
Enruta la CLI a través de una URL de proveedor manteniendo los mismos comandos.
solana config set --url "https://devnet.helius-rpc.com/?api-key=YOUR_KEY"
solana config get
solana slot- Las URL de los proveedores añaden margen de límites de tasa y mejor tiempo de actividad que los puntos finales públicos.
- Almacena las claves API en variables de entorno, no en el historial del shell.
- La CLI no almacena respuestas en caché; cada comando accede a la URL configurada.
Relacionado: Proveedores de RPC - compensaciones de los proveedores
9. Establecer el nivel de compromiso
Ajusta cuán finalizada debe ser una lectura antes de que la CLI devuelva el resultado.
solana config set --commitment finalized
solana config getprocessedes el más rápido pero puede revertirse en bifurcaciones.confirmedes el punto óptimo predeterminado para desarrollo y la mayoría de los scripts.finalizedes el más seguro para operaciones de tesorería pero más lento.
Relacionado: Conceptos básicos de RPC - semántica de compromiso
10. Exportar configuración para scripts
Captura la configuración para que CI y los compañeros de equipo utilicen el mismo clúster y par de claves.
solana config get --json > solana-config.json
cat solana-config.json- La salida JSON es legible por máquina para canalizaciones de automatización.
- No incluyas rutas de pares de claves con claves de producción en repositorios compartidos.
- Empareja la configuración exportada con los pines de versión de
agave-installpara reproducibilidad.
Relacionado: Mejores prácticas de la CLI de Solana - flujos de trabajo de equipo repetibles
Versiones de la pila: Esta página se escribió para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 y LiteSVM 0.6.x.