Instrucciones y Cuentas
IDs de programa, metadatos de cuenta y datos de instrucción. Esta guía está dirigida a validadores Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1 y clientes @solana/kit 7.0.0.
Busca en todas las páginas de la documentación
IDs de programa, metadatos de cuenta y datos de instrucción. Esta guía está dirigida a validadores Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1 y clientes @solana/kit 7.0.0.
Tarjeta de receta de referencia rápida.
solana config set --url devnet
solana balanceimport { createSolanaRpc } from "@solana/kit";
const rpc = createSolanaRpc("https://api.devnet.solana.com");Cuándo recurrir a esto:
import { createSolanaRpc, address } from "@solana/kit";
const rpc = createSolanaRpc("https://api.devnet.solana.com");
const slot = await rpc.getSlot().send();
const sig = "PEGA_LA_FIRMA_DESPUÉS_DE_TU_TX";
const tx = await rpc
.getTransaction(sig, { encoding: "json", maxSupportedTransactionVersion: 0 })
.send();
console.log({ slot, err: tx?.meta?.err, cu: tx?.meta?.computeUnitsConsumed });use anchor_lang::prelude::*;
#[program]
pub mod demo {
use super::*;
pub fn log_slot(_ctx: Context<LogSlot>) -> Result<()> {
let clock = Clock::get()?;
msg!("slot: {}", clock.slot);
Ok(())
}
}
#[derive(Accounts)]
pub struct LogSlot {}Lo que esto demuestra:
// Usa matemáticas seguras y restricciones explícitas en los programas
require!(amount > 0, MyError::InvalidAmount);mut.| Alternativa | Úsala Cuando | No la Uses Cuando |
|---|---|---|
| @solana/kit 7.0.0 | Nuevos clientes TypeScript | Manteniendo código heredado temporalmente |
| Solana CLI 3.0.10 | Operaciones y sondeos rápidos | Firma de transacciones en producción a escala |
| Surfpool 0.12.0 | Pruebas de integración de Anchor | Despliegue en producción |
| LiteSVM 0.6.x | Pruebas unitarias rápidas | Validación del comportamiento completo de la red |
Agave 4.1.1 aplica listas de cuentas en la ejecución - los indicadores de firmante/escribible faltantes o incorrectos fallan antes de que se ejecute la lógica de tu programa.
Usa Solana CLI 3.0.10, que se empareja con Agave 4.1.1. Instala con agave-install init 4.1.1 (o el archivo de fijación de tu equipo), luego verifica con solana --version y agave-install --version.
Usa @solana/kit 7.0.0 para nuevos TypeScript - métodos RPC tipados, superficie de API más pequeña y los ejemplos en esta página ya usan Kit. Mantén web3.js solo para bases de código heredadas; migra las llamadas RPC y la construcción de transacciones incrementalmente.
Simula en confirmed, luego consulta getSignatureStatuses en confirmed para mayor velocidad. Usa finalized antes de tratar los movimientos de tokens como asentados.
Los errores de simulación que listan índices de cuenta son casi siempre el orden incorrecto de AccountMeta o la falta de firmante. Compara con el IDL/restricciones de cuenta.
Sí - apunta la CLI y el RPC a https://api.devnet.solana.com. El comportamiento coincide con mainnet; solo los datos de cuenta y la economía difieren.
Cada cuenta pasada a una instrucción añade CU para cargarla y bloquearla - recorta cuentas innecesarias de la lista.
Anchor 0.32.1 usa #[program], Context<T> y #[derive(Accounts)] con restricciones explícitas de mut/signer - ejecuta anchor build y anchor test en 0.32.1 a través de avm use 0.32.1.
Ejecuta anchor test con Surfpool 0.12.0 para simular transacciones completas contra una bifurcación de mainnet - especialmente las rutas de priority-fee y v0/ALT.
LiteSVM 0.6.x valida listas de cuentas de la misma manera - úsalo para detectar errores de metadatos de forma económica.
El cliente validador cambió de nombre a Agave (4.1.1), CLI 3.0.10 se alinea con él y el trabajo de Alpenglow está cambiando la finalidad - fija las versiones y lee las notas de la versión en cada actualización.
simulateTransaction devuelve errores a nivel de cuenta; getTransaction muestra qué cuentas se tocaron con éxito.
transactions-instructions-fees para temas complementariosVersiones del Stack: Esta página fue 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 y LiteSVM 0.6.x.
Revisado por Chris St. John·Última actualización: 16 jul 2026