Visão Geral da Toolchain
A toolchain de desenvolvedor Solana empilha Rust, binários Agave validator/CLI, platform tools (cargo build-sbf) e Anchor em um pipeline reproduzível de build e deploy.
Receita
Card de receita de referência rápida - pronto para copiar e colar.
rustc --version # 1.91.1
solana --version # solana-cli 3.0.10 (Agave 4.1.1)
anchor --version # 0.32.1
cargo build-sbf --versionQuando usar:
- Onboarding de novo engenheiro nas versões de ferramentas esperadas.
- Depurar falhas de compile ou deploy "funciona na minha máquina".
- Escolher entre programas Rust nativos vs fluxos Anchor framework.
- Auditar se CI corresponde a laptops de desenvolvedores.
Exemplo prático
# Versões centrais da stack fixada deste guia
rustc --version
cargo --version
solana --version
agave-install --version
anchor --version
avm --version
# Fluxo típico de programa
anchor init my_program
cd my_program
anchor build
solana program deploy target/deploy/my_program.soO que isso demonstra:
- Rust compila programas on-chain para ELF sBPF via
cargo build-sbf. - Agave envia
solana,solana-keygen,spl-tokene binários validator. - Anchor encapsula estrutura de programa, geração de IDL e harnesses de teste.
Aprofundamento
Como funciona
- Rust 1.91.1 é a toolchain de linguagem para programas e muitos serviços off-chain.
- Agave 4.1.1 é o client validator; Solana CLI 3.0.10 é o bundle de binários voltado ao operador.
- cargo build-sbf faz cross-compile para alvo sBPF da Solana com sysroots específicos da plataforma.
- Anchor 0.32.1 fornece macros, validação de contas, IDL e codegen de client TypeScript.
Mapa da Toolchain
| Ferramenta | Papel | Pin (este site) |
|---|---|---|
rustc / cargo | Build de linguagem | 1.91.1 |
cargo build-sbf | Compile sBPF | via Agave platform tools |
solana CLI | Ops RPC, deploy | 3.0.10 |
agave-install | Troca de versão | canal 4.1.1 |
anchor / avm | Framework + gerenciador de versão | 0.32.1 |
@solana/kit | Client RPC TS | 7.0.0 |
Notas bash
# Verifique platform tools no PATH
which cargo-build-sbf
ls "$(dirname $(which solana))"/cargo-build-sbfErros comuns
- Misturar Solana 1.x e Agave 4.x - scripts de install legados puxam toolchains antigas. Correção: use canal
agave-install4.1.1 exclusivamente. - Drift global do Anchor - múltiplos projetos precisam versões Anchor diferentes. Correção:
avm use 0.32.1por repo comAnchor.toml. - Platform tools ausentes -
cargo build-sbfnão encontrado após install parcial. Correção: reinstale bundle Agave; verifique PATH. - Confusão client Node vs CLI -
@solana/kitnão substituisolana program deploy. Correção: CLI para ops, kit para leituras/escritas de app. - Rust nightly para programas - alvo on-chain espera toolchain stable. Correção: fique em stable 1.91.1 a menos que docs exijam nightly explicitamente.
Alternativas
| Alternativa | Use quando | Não use quando |
|---|---|---|
pinocchio / solana-program nativo | Controle máximo CU/tamanho | Prototipagem rápida |
CLI scaffold mucho | Templates Foundation | Arquitetura customizada mínima |
create-solana-dapp | Next.js full-stack + programa | Apenas serviços backend |
| Testes LiteSVM / Mollusk | Testes unitários rápidos sem validator | Passos de deploy produção |
FAQs
O que é Agave vs Solana Labs?
Agave é a linhagem validator e CLI mantida pela Anza continuando desenvolvimento Solana open-source. Comandos permanecem com marca solana-*.
Preciso de Anchor?
Não para programas nativos, sim para validação de contas mais rápida, IDL e codegen de client na maioria dos times de produto.
De onde vem cargo build-sbf?
Enviado com Agave platform tools instaladas junto ao bundle CLI.
Qual versão Node para clients?
Use Node LTS atual para projetos @solana/kit 7.x; fixe em .nvmrc por repo de app.
Validator é obrigatório para devs de app?
Devs de app precisam CLI + kit; validators são para solana-test-validator local ou operadores rodando nós.
Como Surfpool se encaixa?
Surfpool 0.12.0 adiciona simulação local fork mainnet - complementar ao test validator Agave.
O que é avm?
Anchor Version Manager - instala e seleciona versões CLI Anchor como nvm para Node.
Posso usar Docker?
Sim para reprodutibilidade CI - monte versões de ferramentas explicitamente em vez de imagens latest.
O que amarra versão crate anchor-lang?
Corresponda anchor-lang = "0.32.1" em Cargo.toml à CLI 0.32.1 conforme release notes Anchor.
Como verificar a stack completa?
Execute comandos de versão no bloco Receita no CI e falhe builds em mismatch.
Relacionados
- Gerenciamento de Versão (agave-install / avm) - fixar versões
- Construindo Programas (cargo build-sbf) - pipeline de compile
- Configuração de Editor e rust-analyzer - loop de IDE
- Noções Básicas da Solana CLI - configuração CLI
Versões da stack: Esta página foi escrita 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 e LiteSVM 0.6.x.