Cuentas de Voto y Votación
Cómo votan los validadores y funcionan los bloqueos. 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
Cómo votan los validadores y funcionan los bloqueos. 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 = "PASTE_SIGNATURE_AFTER_YOUR_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 verificadas y restricciones explícitas en los programas
require!(amount > 0, MyError::InvalidAmount);mut.| 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 |
Los validadores de Agave 4.1.1 mantienen cuentas de voto que acumulan créditos a medida que votan en forks ordenados por PoH.
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 una experiencia de usuario que tolere forks raros; usa finalized antes de pagos irreversibles o mensajes de puente. Vuelve a evaluar los tiempos de espera durante la implementación de Alpenglow.
Los paneles de staking utilizan el estado de la cuenta de voto; si las delegaciones parecen incorrectas, verifica la clave pública de la cuenta de voto y las marcas de incumplimiento de getVoteAccounts.
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.
Las instrucciones de voto son a nivel del sistema; tus programas de dApp no pagan CU de voto a menos que hagas CPI a los programas de stake/voto.
Los patrones de Anchor 0.32.1 se aplican cuando escribes programas en cadena: cuentas tipadas, guardas require!, y generación de IDL; usa avm use 0.32.1 y anchor-lang = "0.32.1" en Cargo.toml.
Surfpool ayuda a probar scripts de sondeo de clientes contra estado bifurcado; no simula los internos de votación del validador.
LiteSVM puede cargar cuentas de voto como fixtures pero no simula la acumulación de créditos de época.
El cliente validador cambió de nombre a Agave (4.1.1), la 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.
getVoteAccounts, getStakeActivation y getEpochInfo son las superficies RPC principales.
consensus-alpenglow 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