Uma instrução é uma solicitação para executar uma função específica num programa Solana. As instruções são o bloco de construção fundamental para operações on-chain. Cada instrução especifica exatamente um programa a chamar, as contas de que necessita e um array de bytes de dados que o programa interpreta (normalmente um discriminador para identificar qual handler de instrução executar, seguido de argumentos serializados). A lógica de execução para cada instrução é armazenada num programa, onde cada programa define o seu próprio conjunto de instruções. Para interagir com a rede Solana, uma ou mais instruções são adicionadas a uma transação e enviadas à rede para serem processadas.
Diagrama representando uma transação com uma instrução, dividida nos seus 3 componentes
Estrutura de instrução
Os três campos de uma instrução (program_id, accounts, data), AccountMeta, instruções compiladas e o exemplo de transferência SOL.
Introspecção de instrução
Como os programas inspecionam instruções irmãs na transação atual através do sysvar Instructions.
Factos principais
- Programa único: cada instrução tem como alvo exatamente um programa
através de
program_id. - Metadados de conta: o array
accountsforneceAccountMetapara cada conta que a instrução lê ou escreve. - Dados opacos: o campo
dataé um array de bytes cujo formato é definido pelo programa alvo.
Is this page helpful?