Contas

As contas do ecossistema Solana são usadas para armazenar estado. Elas são um bloco de construção essencial para o desenvolvimento na Solana.

Fatos

Ficha Informativa

  • As contas são usadas para armazenar dados
  • Cada conta tem um endereço único
  • As contas têm um tamanho máximo de 10 MB (10 Megabytes)
  • As contas PDA (Program Derived Address, ou Endereço Derivado de Programa) têm um tamanho máximo de 10 KB (10 Kilobytes)
  • As contas PDA podem ser usadas para assinar em nome de um programa
  • O tamanho das contas é fixo no momento da criação, mas pode ser ajustado usando o reallocopen in new window
  • O armazenamento de dados da conta é pago com aluguel
  • O proprietário padrão da conta é o Programa do Sistema (System Program)

Mergulho Profundo

Modelo de Conta

Existem 3 tipos de contas na Solana:

  • Contas de dados armazenam dados
  • Contas de programas armazenam programas executáveis
  • Contas nativas que indicam programas nativos na Solana, como o System, Stake e Vote

Dentro das contas de dados, existem 2 tipos:

  • Contas de propriedade do sistema
  • Contas PDA

Cada conta possui um endereço (geralmente uma chave pública) e um proprietário (endereço de uma conta de programa). A lista completa de campos que uma conta armazena está abaixo.

CampoDescrição
lamportsO número de lamports (unidade de medida de valor na rede Solana) possuídos por esta conta.
ownerO proprietário do programa desta conta
executableSe esta conta pode processar instruções
dataO array de bytes de dados brutos armazenados por esta conta
rent_epochA próxima época em que esta conta terá que pagar aluguel

Existem algumas regras de propriedade importantes:

  • Somente o proprietário de uma conta de dados pode modificar seus dados e debitar lamports
  • Qualquer pessoa pode creditar lamports a uma conta de dados
  • O proprietário de uma conta pode atribuir um novo proprietário se os dados da conta estiverem zerados

Contas de programa não armazenam estado.

Por exemplo, se você tiver um programa de contador que permita incrementar um contador, você deve criar duas contas, uma conta para armazenar o código do programa e outra para armazenar o contador.

Para evitar que uma conta seja excluída, você deve pagar aluguel.

Aluguel

A manutenção do armazenamento de dados em contas custa SOL e é pago pelo que é chamado de aluguel. Se você mantiver um saldo mínimo equivalente a 2 anos de pagamentos de aluguel em uma conta, sua conta ficará isenta de pagar aluguel. Você pode recuperar o aluguel fechando a conta e enviando os lamports de volta para sua carteira.

O aluguel é pago em dois momentos diferentes:

  1. Quando referenciado por uma transação
  2. Uma vez por época

Uma porcentagem do aluguel coletado pelas contas é destruída, enquanto o restante é distribuído para contas de voto no final de cada slot.

Se a conta não tiver o suficiente para pagar o aluguel, a conta será desalocada e os dados removidos.

Também é importante observar que novas contas devem adotar a isenção de aluguel.

Outros Recursos

Créditos

Este conceito principal é creditado ao Pencilflip. Siga ele no Twitteropen in new window.

Last Updated:
Contributors: Daniel Cukier