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ón | Descripción |
|---|---|
CreateAccount | Crea una nueva cuenta. Asigna space bytes, asigna owner y transfiere lamports del pagador. La nueva cuenta y el pagador deben firmar. |
CreateAccountWithSeed | Igual 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. |
Assign | Establece el propietario de la cuenta. La cuenta debe firmar. No hace nada si ya es ese propietario. |
AssignWithSeed | Igual que Assign, pero para una dirección derivada de seed. La cuenta cuya pubkey se usó para derivar la dirección debe firmar. |
Transfer | Transfiere lamports entre cuentas. El remitente debe firmar. |
TransferWithSeed | Igual que Transfer, pero desde una dirección derivada de seed. La cuenta cuya pubkey se usó para derivar la dirección debe firmar. |
Allocate | Establece 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. |
AllocateWithSeed | Igual 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. |
AdvanceNonceAccount | Avanza el valor del nonce al blockhash actual. La autoridad del nonce debe firmar. |
InitializeNonceAccount | Inicializa una cuenta como cuenta nonce con la autoridad dada. La cuenta debe estar exenta de rent. |
AuthorizeNonceAccount | Cambia la autoridad del nonce. La autoridad actual debe firmar. |
WithdrawNonceAccount | Retira lamports de una cuenta nonce. La autoridad debe firmar. Si no se cierra, el saldo restante debe cubrir el rent. |
UpgradeNonceAccount | Actualiza 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
| Programa | ID del programa | Descripción | Fuente |
|---|---|---|---|
| System | 11111111111111111111111111111111 | Crea cuentas, transfiere SOL, asigna datos y asigna propiedad | Fuente |
| Vote | Vote111111111111111111111111111111111111111 | Crea y gestiona cuentas que rastrean el estado de votación y recompensas de validadores | Fuente |
| Stake | Stake11111111111111111111111111111111111111 | Crea y gestiona delegaciones de stake a validadores | Fuente |
| Config | Config1111111111111111111111111111111111111 | Almacena datos de configuración en cadena con control de acceso basado en claves | Fuente |
| Compute Budget | ComputeBudget111111111111111111111111111111 | Establece límites de unidades de cómputo y tarifas de prioridad para transacciones | Fuente |
| Address Lookup Table | AddressLookupTab1e1111111111111111111111111 | Gestiona tablas de búsqueda de direcciones para transacciones que referencian muchas cuentas | Fuente |
| ZK ElGamal Proof | ZkE1Gama1Proof11111111111111111111111111111 | Verifica pruebas de conocimiento cero para datos cifrados con ElGamal | Fuente |
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?