---
title: "Como calcular o rent para programas Solana"
description: "Aprenda como funciona o rent na Solana e como calculá-lo para o seu próximo programa Solana"
---

# Como calcular o rent para programas Solana

As execuções de programas na blockchain do Solana começam com uma transação. A blockchain consiste em uma rede de sistemas de computador que duplica e distribui um livro-razão digital de transações por toda a rede. Cada bloco na chain compreende uma série de transações, e o livro-razão de cada participante recebe uma cópia de cada nova transação que ocorre na blockchain.

Armazenar todos esses dados em contas separadas não é gratuito e gera alguns custos. Neste artigo, vamos apresentar o conceito de rent no Solana e como você pode calculá-lo.

## **O que é rent no Solana?**

**Rent é a taxa que toda conta do Solana paga para armazenar dados na blockchain, e é denominada em Lamports, a menor unidade de SOL, usada para micropagamentos.** As taxas de rent são calculadas com base no tamanho do armazenamento da conta. Quanto maior o rent, maior a quantidade de dados armazenados.

Como os [clusters de nós do Solana](https://www.alchemy.com/overviews/solana-nodes) precisam manter ativamente esses dados, é necessária uma taxa baseada em tempo e espaço para manter uma conta, e consequentemente seus dados, ativa na blockchain. Todas as contas do Solana devem manter seus saldos de Lamports altos o suficiente para se qualificar para **isenção de rent** e permanecer na blockchain do Solana. Contas com uma quantidade baixa de Lamports são removidas da rede pelo garbage collector.

### **Quando as taxas de rent são cobradas?**

As taxas de rent geralmente são cobradas ao final de cada epoch. Uma epoch é o período de tempo durante o qual o validador líder ainda é capaz de gerar blocos de transações. O [Solana Explorer](https://www.alchemy.com/dapps/solana-explorer) contém os dados das epochs mais recentes e anteriores. O rent também é pago quando as contas são referenciadas por uma transação.

Ao final de cada slot, uma porcentagem do rent que as contas acumularam é destruída, e o restante é pago às vote accounts. [A conta](https://www.alchemy.com/overviews/solana-account-model) será desalocada e os dados excluídos se não houver dinheiro suficiente nela para cobrir o rent. Também é importante lembrar que contas recém-criadas precisam estar isentas de rent.

O rent também é muito importante porque os validadores na rede precisam manter uma cópia de trabalho desse estado em memória; a rede cobra uma taxa baseada em tempo e espaço por esse consumo de recursos. Isso ocorre porque as contas no Solana podem ter um estado controlado pelo owner (Account::data) que é distinto do saldo da conta (Account::lamports).

## **Como calcular o rent para um programa Solana?**

Usar o comando rent do Solana a partir da [Solana CLI](https://www.alchemy.com/docs/reference/solana-api-quickstart) oferece uma abordagem simples para estimar os custos de rent. Você pode ver o rent por byte, por epoch, e o valor mínimo necessário para que uma conta seja isenta de rent inserindo o tamanho (em bytes) da sua conta.

De acordo com o regime de rent, as contas têm **Account::rent epoch** igual à epoch atual ou à epoch atual + 1, e o rent é devido por uma epoch de tempo.

O Account::rent epoch é simplesmente ajustado para a epoch atual se a conta estiver no regime de isenção.

Se a conta não for isenta, **Rent::due()** é usado para determinar quanto rent essa conta deve. Esse cálculo é baseado na diferença entre a próxima epoch e o Account::rent epoch. Estes passos mostrarão como calcular o preço de rent para um programa Solana.

### **Passo 1: criar um novo programa**

Primeiro, acesse seu terminal e crie uma nova pasta usando o cargo; é aqui que nosso arquivo principal será armazenado.

Abra o src/main e substitua pelo trecho de código [aqui](https://gist.github.com/dharniel45/69bd889abd6179c9bfa94b00ab1247f6)

### Passo 2: calcular o custo do rent

O tamanho do arquivo deve ser 906 bytes; podemos calcular o rent simplesmente executando:

Você deverá ver o seguinte:

<ImageBlock
  src="https://media.alchemy.com/1703690153-solana-rent-command-output.png"
  alt="Saída do comando Solana Rent no terminal"
  width={984}
  height={172}
  caption="Saída do comando Solana Rent no terminal"
/>

Por fim, não há uma transação correspondente para as deduções de rent, pois a cobrança de rent ocorre de acordo com modificações de conta em nível de protocolo, como a distribuição de rent aos validadores.

Portanto, a cobrança de rent é em grande parte invisível e só pode ser observada implicitamente por meio de uma transação recente ou pela cronologia especificada pelo prefixo do endereço da conta.

## **Como resgatar taxas de armazenamento do Solana**

Para recuperar as taxas de armazenamento do Solana, desenvolvedores e usuários comuns do Solana podem fechar contas para receber de volta suas taxas de armazenamento. A maneira mais simples de resgatar taxas de rent do Solana é usando uma ferramenta amigável como o **[Sol Incinerator](https://www.alchemy.com/dapps/sol-incinerator)** para fechar contas de programas não utilizadas na sua wallet.

## **Conclusão**

O custo do rent atualmente é definido no genesis, mas está previsto que se torne dinâmico no futuro, refletindo o custo atual do hardware de armazenamento subjacente. Por isso, acredita-se amplamente que, à medida que a tecnologia avança e os custos de hardware caem, os custos das taxas de rent também cairão.
