Programación y Producción de Bloques del Líder
Líderes, slots y slots omitidos. Esta guía está dirigida a validadores de Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1 y clientes de @solana/kit 7.0.0.
Busca en todas las páginas de la documentación
Líderes, slots y slots omitidos. Esta guía está dirigida a validadores de Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1 y clientes de @solana/kit 7.0.0.
Tarjeta 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 usar 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 comprobadas y restricciones explícitas en los programas
require!(amount > 0, MyError::InvalidAmount);| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| @solana/kit 7.0.0 | Nuevos clientes TypeScript | Mantener 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 calcula los slots del líder a partir de la participación; solo el líder programado puede producir bloques para esos slots.
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 métodos RPC tipados en TypeScript, una superficie de API más pequeña y los ejemplos de esta página ya usan Kit. Conserva web3.js solo para bases de código heredadas; migra las llamadas RPC y la construcción de transacciones incrementalmente.
Usa confirmed para dashboards y finalized antes de retiros o callbacks entre sistemas.
Si las transacciones se detienen cerca de los límites de la época, obtén getLeaderSchedule y confirma que el líder actual está en línea. Los slots omitidos inflan el tiempo de confirmación.
Sí, apunta la CLI y el RPC a https://api.devnet.solana.com. El comportamiento coincide con mainnet; solo los datos de la cuenta y la economía difieren.
Los cambios de líder no alteran las CU del programa, pero los picos de congestión a menudo siguen a los slots de líder populares; presupuesta una tarifa de prioridad adicional.
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.
Inicia Surfpool 0.12.0, apunta el RPC a su puerto y ejecuta anchor test o scripts de integración de clientes contra cuentas bifurcadas.
LiteSVM no rota líderes; tú eres siempre el único productor.
El cliente validador cambió de nombre a Agave (4.1.1), Solana 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.
getLeaderSchedule, getSlot, getBlockProduction y getEpochInfo rastrean quién debería estar produciendo ahora.
core-architecture-components 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: 19 jul 2026