DEV Community

Cover image for Transações na Solana
Gabriel Jeronimo Lima Silva
Gabriel Jeronimo Lima Silva

Posted on

Transações na Solana

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:

  1. Endereços que precisam de assinatura
  2. Endereços que precisam de permissão de escrita
  3. Endereços que precisam de permissão de leitura
  4. Endereços que não precisam de nenhuma assinatura.
  5. Endereços write-only
  6. 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)