Una instrucción es una solicitud para ejecutar una función específica en un programa de Solana. Las instrucciones son el bloque de construcción fundamental para las operaciones on-chain. Cada instrucción especifica exactamente un programa a llamar, las cuentas que necesita y un array de bytes de datos que el programa interpreta (típicamente un discriminador para identificar qué manejador de instrucción ejecutar, seguido de argumentos serializados). La lógica de ejecución para cada instrucción se almacena en un programa, donde cada programa define su propio conjunto de instrucciones. Para interactuar con la red Solana, una o más instrucciones se añaden a una transacción y se envían a la red para ser procesadas.
Diagrama que muestra una transacción con una instrucción, dividida en sus 3 componentes
Estructura de instrucción
Los tres campos de una instrucción (program_id, accounts, data), AccountMeta, instrucciones compiladas y el ejemplo de transferencia de SOL.
Introspección de instrucciones
Cómo los programas inspeccionan instrucciones hermanas en la transacción actual a través del sysvar Instructions.
Datos clave
- Programa único: cada instrucción se dirige exactamente a un programa a
través de
program_id. - Metadatos de cuenta: el array
accountsproporcionaAccountMetapara cada cuenta que la instrucción lee o escribe. - Datos opacos: el campo
dataes un array de bytes cuyo formato está definido por el programa de destino.
Is this page helpful?