Descripción general de la cadena de herramientas
La cadena de herramientas de desarrollo de Solana integra Rust, los binarios del validador/CLI de Agave, las herramientas de plataforma (cargo build-sbf) y Anchor en un único canal de compilación y despliegue reproducible.
Receta
Tarjeta de receta de referencia rápida, lista para copiar y pegar.
rustc --version # 1.91.1
solana --version # solana-cli 3.0.10 (Agave 4.1.1)
anchor --version # 0.32.1
cargo build-sbf --versionCuándo usar esto:
- Para incorporar a un nuevo ingeniero a las versiones de herramientas esperadas.
- Para depurar fallos de compilación o despliegue del tipo "funciona en mi máquina".
- Para elegir entre flujos de trabajo de programas nativos de Rust o del framework Anchor.
- Para auditar si el CI coincide con los portátiles de los desarrolladores locales.
Ejemplo de trabajo
# Versiones principales para la pila fijada de esta guía
rustc --version
cargo --version
solana --version
agave-install --version
anchor --version
avm --version
# Flujo de trabajo típico del programa
anchor init my_program
cd my_program
anchor build
solana program deploy target/deploy/my_program.soLo que esto demuestra:
- Rust compila programas en cadena a sBPF ELF a través de
cargo build-sbf. - Agave proporciona los binarios
solana,solana-keygen,spl-tokeny del validador. - Anchor envuelve la estructura del programa, la generación de IDL y los entornos de prueba.
Análisis en profundidad
Cómo funciona
- Rust 1.91.1 es la cadena de herramientas de lenguaje para programas y muchos servicios fuera de cadena.
- Agave 4.1.1 es el cliente validador; Solana CLI 3.0.10 es el paquete de binarios para el operador.
- cargo build-sbf compila cruzadamente para el objetivo sBPF de Solana con sysroots específicos de la plataforma.
- Anchor 0.32.1 proporciona macros, validación de cuentas, IDL y generación de código de cliente TypeScript.
Mapa de la cadena de herramientas
| Herramienta | Rol | Fijación (este sitio) |
|---|---|---|
rustc / cargo | Compilación del lenguaje | 1.91.1 |
cargo build-sbf | Compilación sBPF | a través de las herramientas de plataforma de Agave |
solana CLI | Operaciones RPC, despliegue | 3.0.10 |
agave-install | Cambio de versión | Canal 4.1.1 |
anchor / avm | Framework + gestor de versiones | 0.32.1 |
@solana/kit | Cliente RPC TS | 7.0.0 |
Notas de bash
# Verificar las herramientas de plataforma en PATH
which cargo-build-sbf
ls "$(dirname $(which solana))"/cargo-build-sbfErrores comunes
- Mezcla de Solana 1.x y Agave 4.x - los scripts de instalación heredados extraen cadenas de herramientas antiguas. Solución: usar exclusivamente el canal
agave-install4.1.1. - Deriva global de Anchor - múltiples proyectos necesitan diferentes versiones de Anchor. Solución:
avm use 0.32.1por repositorio conAnchor.toml. - Herramientas de plataforma faltantes -
cargo build-sbfno encontrado después de una instalación parcial. Solución: reinstalar el paquete de Agave; verificar PATH. - Confusión entre cliente Node y CLI -
@solana/kitno reemplazasolana program deploy. Solución: CLI para operaciones, kit para lecturas/escrituras de aplicaciones. - Rust nightly para programas - el objetivo en cadena espera una cadena de herramientas estable. Solución: permanecer en la versión estable 1.91.1 a menos que la documentación requiera explícitamente nightly.
Alternativas
| Alternativa | Usar cuándo | No usar cuándo |
|---|---|---|
pinocchio nativo / solana-program | Control máximo de CU/tamaño | Prototipado rápido |
mucho scaffold CLI | Plantillas de base | Arquitectura personalizada mínima |
create-solana-dapp | Full-stack Next.js + programa | Servicios solo de backend |
| Pruebas LiteSVM / Mollusk | Pruebas unitarias rápidas sin validador | Pasos de despliegue de producción |
Preguntas frecuentes
¿Qué es Agave vs Solana Labs?
Agave es el linaje del validador y la CLI mantenido por Anza que continúa el desarrollo de Solana de código abierto. Los comandos siguen teniendo la marca solana-*.
¿Necesito Anchor?
No para programas nativos, sí para una validación de cuentas más rápida, IDL y generación de código de cliente en la mayoría de los equipos de producto.
¿De dónde viene cargo build-sbf?
Se distribuye con las herramientas de plataforma de Agave instaladas junto con el paquete CLI.
¿Qué versión de Node para clientes?
Usar la versión LTS actual de Node para proyectos @solana/kit 7.x; fijar en .nvmrc por repositorio de aplicaciones.
¿Es necesario el validador para los desarrolladores de aplicaciones?
Los desarrolladores de aplicaciones necesitan la CLI + kit; los validadores son para solana-test-validator local o para operadores que ejecutan nodos.
¿Cómo encaja Surfpool?
Surfpool 0.12.0 añade simulación local de bifurcación de mainnet, complementaria al validador de prueba de Agave.
¿Qué es avm?
Anchor Version Manager: instala y selecciona versiones de la CLI de Anchor como nvm para Node.
¿Puedo usar Docker en su lugar?
Sí, para la reproducibilidad del CI: montar versiones de herramientas explícitamente en lugar de imágenes latest.
¿Qué vincula la versión de la crate anchor-lang?
Hacer coincidir anchor-lang = "0.32.1" en Cargo.toml con la CLI 0.32.1 según las notas de la versión de Anchor.
¿Cómo verifico la pila completa?
Ejecutar los comandos de versión en el bloque Receta en CI y fallar las compilaciones si no coinciden.
Relacionado
- Gestión de versiones (agave-install / avm) - fijar versiones
- Compilación de programas (cargo build-sbf) - canal de compilación
- Configuración del editor y rust-analyzer - bucle IDE
- Conceptos básicos de Solana CLI - configuración de la CLI
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.