Mejores prácticas para Cuentas y Restricciones
Estructuras de cuenta de cierre ante fallos y de mínima confianza para programas Anchor de producción.
Busca en todas las páginas de la documentación
Estructuras de cuenta de cierre ante fallos y de mínima confianza para programas Anchor de producción.
#[derive(Accounts)] contra esta lista.UncheckedAccount como una excepción de seguridad que requiere un comentario.init_if_needed o CPIs de tokens.Signer para las autoridades, no UncheckedAccount con is_signer manual.Account<T> sobre UncheckedAccount para el estado propiedad del programa.Program<Token/System> para cada destino de CPI.has_one para las relaciones de autoridad en lugar de solo comprobaciones en el manejador.#[error_code] con sintaxis @.init_if_needed sin comprobaciones de autoridad en cuentas existentes.InitSpace + max_len para campos de longitud variable.realloc o nuevas cuentas.0.32.1 para anchor-lang, Anchor CLI y ejemplos en esta sección.
Sí. Solana CLI 3.0.10 maneja keypairs, airdrops e inspección de solana program.
target/idl/<program>.json en tu espacio de trabajo.
Sí, pero cada campo no verificado necesita restricciones explícitas o comprobaciones en el manejador.
Usa anchor test con Surfpool 0.12.0 o LiteSVM 0.6.x en CI.
El discriminador de cuenta de Anchor; no lo elimines al dimensionar space.
Sí, o publica el IDL en la cadena para que los clientes tengan una fuente canónica.
Ejecuta con logs; Anchor imprime el nombre de la restricción y el índice de la cuenta.
Sí. Esta pila se dirige a validadores Agave con Solana CLI 3.0.10.
Consulta los artículos hermanos en "Relacionados" para temas más profundos sobre las mejores prácticas de cuentas.
Versiones de la pila: 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