Para entender como se desenvolver programas na Solana é necessário entender como funcionam as transações.
A execução de um programa Solana começa com uma transação sendo submetida a um cluster. O runtime da Solana executa um programa para executar cada uma das instruções presentes na transação, em ordem, uma de cada vez.
A anatomia das transações
Uma transação contém:
Um array que possui diversas assinaturas. Essas assinaturas são necessárias para ter a permissão de executar certas operações dentro de um contrato. Por exemplo: Transferir SOL de uma conta para outra.
Uma mensagem que é dividida entre: cabeçalho com metadados, array com diversas contas que poderão ser utilizadas durante a operação e um blockhash para o proof of history da Solana.
Um array com as instruções que devem ser executadas naquela transação.
Os metadados do cabeçalho são utilizados durante o runtime da transação. Ele possui a quantidade de assinaturas, a quantidade endereços read-only e a quantidade de endereços que não precisam de assinatura.
O array com as contas são organizados da seguinte forma:
- Endereços que precisam de assinatura
- Endereços que precisam de permissão de escrita
- Endereços que precisam de permissão de leitura
- Endereços que não precisam de nenhuma assinatura.
- Endereços write-only
- Endereços read-only
O blockhash da mensagem é utilizado para indicar quando foi a última vez que o client olhou para o ledger. Os validadores da Solana irão rejeitar qualquer transação que possuir um blockhash muito antigo. Esse artigo trás uma visão superficial, caso queira se aprofundar clique aqui.
Top comments (0)