Programas principales

Resumen

Los programas principales proporcionan funcionalidad fundamental de la red: gestión de cuentas (System Program), consenso (Vote, Stake), optimización de transacciones (Compute Budget, Address Lookup Table) y privacidad (ZK ElGamal Proof). Incluye referencia de instrucciones del System Program y enlaces al código fuente de los 7 programas.

El System Program

El System Program (11111111111111111111111111111111) es el único programa que puede crear nuevas cuentas. Todas las cuentas nuevas son inicialmente propiedad del System Program, aunque la propiedad normalmente se reasigna al momento de la creación. El System Program consume DEFAULT_COMPUTE_UNITS (150 CUs) por instrucción.

Referencia de instrucciones del System Program

InstrucciónDescripción
CreateAccountCrea una nueva cuenta. Asigna space bytes, asigna owner y transfiere lamports del pagador. La nueva cuenta y el pagador deben firmar.
CreateAccountWithSeedIgual que CreateAccount, pero deriva la dirección de la nueva cuenta a partir de la pubkey de una cuenta, una cadena seed y el programa propietario. La cuenta cuya pubkey se usó para derivar la dirección y el pagador deben firmar.
AssignEstablece el propietario de la cuenta. La cuenta debe firmar. No hace nada si ya es ese propietario.
AssignWithSeedIgual que Assign, pero para una dirección derivada de seed. La cuenta cuya pubkey se usó para derivar la dirección debe firmar.
TransferTransfiere lamports entre cuentas. El remitente debe firmar.
TransferWithSeedIgual que Transfer, pero desde una dirección derivada de seed. La cuenta cuya pubkey se usó para derivar la dirección debe firmar.
AllocateEstablece la longitud de datos de la cuenta. La cuenta debe firmar, tener datos vacíos y ser propiedad del System Program. Máximo 10 MiB.
AllocateWithSeedIgual que Allocate, pero para una dirección derivada de seed. También asigna el propietario. La cuenta cuya pubkey se usó para derivar la dirección debe firmar.
AdvanceNonceAccountAvanza el valor del nonce al blockhash actual. La autoridad del nonce debe firmar.
InitializeNonceAccountInicializa una cuenta como cuenta nonce con la autoridad dada. La cuenta debe estar exenta de rent.
AuthorizeNonceAccountCambia la autoridad del nonce. La autoridad actual debe firmar.
WithdrawNonceAccountRetira lamports de una cuenta nonce. La autoridad debe firmar. Si no se cierra, el saldo restante debe cubrir el rent.
UpgradeNonceAccountActualiza una cuenta nonce del formato legacy a la versión actual. La cuenta debe ser escribible y contener una versión legacy del nonce.

Todos los programas principales

ProgramaID del programaDescripciónFuente
System11111111111111111111111111111111Crea cuentas, transfiere SOL, asigna datos y asigna propiedadFuente
VoteVote111111111111111111111111111111111111111Crea y gestiona cuentas que rastrean el estado de votación y recompensas de validadoresFuente
StakeStake11111111111111111111111111111111111111Crea y gestiona delegaciones de stake a validadoresFuente
ConfigConfig1111111111111111111111111111111111111Almacena datos de configuración en cadena con control de acceso basado en clavesFuente
Compute BudgetComputeBudget111111111111111111111111111111Establece límites de unidades de cómputo y tarifas de prioridad para transaccionesFuente
Address Lookup TableAddressLookupTab1e1111111111111111111111111Gestiona tablas de búsqueda de direcciones para transacciones que referencian muchas cuentasFuente
ZK ElGamal ProofZkE1Gama1Proof11111111111111111111111111111Verifica pruebas de conocimiento cero para datos cifrados con ElGamalFuente

Programas de carga

Cada programa es propiedad de un programa de carga. Los cargadores gestionan el despliegue, actualización y ejecución de los programas que poseen. Consulta Programas de carga para la lista completa de cargadores y sus direcciones.

Is this page helpful?

Tabla de Contenidos

Editar Página

Gestionado por

© 2026 Fundación Solana.
Todos los derechos reservados.
Conéctate