Contas de dados vs. contas de programa no Solana
Escrito por Tau
Solana é uma plataforma de blockchain descentralizada projetada para ser rápida, segura e escalável, usando modelos de contas exclusivos para orquestrar o fluxo de processos. Normalmente, um layout completo de dApp na Solana compreende três tipos de contas: contas nativas, contas de dados e contas de programa.
Este artigo foca nas contas de dados e de programa da Solana, em conjunto na blockchain Solana, e em como elas diferem dos contratos inteligentes da Ethereum, o equivalente de conta na Ethereum.
O que é uma conta de dados da Solana?
Uma conta de dados da Solana é um tipo de conta na blockchain Solana que armazena dados como tokens, documentos ou qualquer outro tipo de informação. Contas de dados podem armazenar estado, mas não são executáveis.
Contas de dados são semelhantes a contas em outras plataformas de blockchain, no sentido de que possuem um saldo e podem receber e enviar transações. Essas contas, junto com metadados, identificam seu proprietário e o tipo de interação possível durante a execução (runtime). Contas de wallet, mint e token são bons exemplos de contas de dados, pois armazenam valor e pertencem a um usuário e a uma conta de programa.
O que é uma conta de programa da Solana?
Uma conta de programa é um contrato inteligente na blockchain Solana usado para executar código, normalmente acionado por transações recebidas ou pela passagem do tempo. Contas de programa podem interagir com contas de dados, permitindo que leiam e escrevam dados na blockchain. Elas próprias não conseguem armazenar estados variáveis, mas os invocam a partir de contas de dados.
Uma diferença importante entre contas de dados e contas de programa da Solana é que contas de programa só podem ser criadas por outras contas de programa, enquanto contas de dados podem ser criadas por qualquer desenvolvedor ou usuário. No entanto, contas de programa podem ser usadas para criar mais contas de programa, permitindo a criação de sistemas de contratos inteligentes complexos e em várias camadas na Solana EVM.
Como contas de dados e contas de programa funcionam juntas?
Contas de dados podem ser usadas para armazenar os dados utilizados por contas de programa, e contas de programa podem interagir com contas de dados para ler e escrever esses dados. Contas de dados e de programa coexistem e colaboram na blockchain Solana para viabilizar uma ampla gama de funções e serviços de dApps.
Por exemplo, uma conta de programa poderia ser usada para criar um contrato de token simples que permite aos usuários transferir tokens entre contas de dados. Nesse caso, a conta de programa seria responsável por executar a lógica do contrato, enquanto as contas de dados seriam usadas para armazenar os saldos dos tokens.
Algo assim:
Neste exemplo, criamos uma conta de programa chamada "transfer_tokens.wasm" que contém a lógica para transferir tokens de uma conta para outra. Podemos então conectar a conta de dados à conta de programa usando o método invoke, passando a conta de dados e os argumentos da transferência como um array.
Quando a conta de programa é executada, ela usa os dados armazenados na conta de dados para realizar a transferência de tokens. Nesse caso, a conta de programa transferiria 100 tokens da conta de token para a conta destinatária.
Você pode testar o fluxo de programa demonstrado no exemplo acima com qualquer outro programa de sua escolha ou com alguns dos programas prontos da Solana Program Library (SPL).
Contas da Solana vs. contratos inteligentes da Ethereum
Contas de dados e contas de programa da Solana são semelhantes a contratos inteligentes da Ethereum, mas há algumas diferenças importantes, incluindo armazenamento, chamadas, execução, gas, e mais.
Em que as contas de dados e programas da Solana diferem dos contratos inteligentes da Ethereum?
Contas de dados e de programa da Solana diferem dos contratos inteligentes da Ethereum na forma como os dados são armazenados, como os contratos são chamados, no modelo de execução, no suporte a linguagens e no gas.
1. Armazenamento de dados
Na blockchain Solana, contas de dados são usadas para armazenar dados, enquanto na blockchain Ethereum, os dados são armazenados dentro dos contratos inteligentes. Isso significa que, na Solana, há uma separação entre os dados e a lógica que interage com eles, enquanto na Ethereum, os dados e a lógica são combinados em um único contrato inteligente.
2. Chamadas de contrato
Na blockchain Solana, contas de programa são acionadas por transações recebidas, chamadas de outros programas (ou seja, invocações entre programas), ou pela passagem do tempo. Na blockchain Ethereum, contratos inteligentes são acionados por transações recebidas e também podem ser chamados por outros contratos inteligentes.
3. Modelo de execução
Contas de dados e de programa da Solana são executadas pelos validadores na rede Solana, enquanto contratos inteligentes da Ethereum são executados pela Ethereum Virtual Machine (EVM) em nós individuais.
4. Gas da EVM e correlação com dados
Contas de dados da Solana podem armazenar uma quantidade ilimitada de dados, enquanto a Ethereum tem uma capacidade limitada de armazenamento em contratos inteligentes determinada pela quantidade de gas consumida durante a execução.
5. Suporte a linguagens
Contas de programa da Solana podem ser escritas em qualquer linguagem que possa ser compilada para WebAssembly (WASM), enquanto contratos inteligentes da Ethereum são normalmente escritos em Solidity ou Vyper (uma implementação de Solidity baseada em Python).
Em que as contas de dados e de programa da Solana são semelhantes aos contratos inteligentes da Ethereum?
Contas de dados e de programa da Solana são semelhantes aos contratos inteligentes da Ethereum em termos de funcionalidade de contrato inteligente, descentralização, imutabilidade, transparência e programabilidade.
1. Funcionalidade de contrato inteligente
Tanto as contas da Solana quanto os contratos inteligentes da Ethereum podem ser usados para facilitar transações e automatizar processos, como transferir ativos ou gerenciar a logística de cadeias de suprimento.
2. Descentralização
Tanto as contas da Solana quanto os contratos inteligentes da Ethereum são implantados e executados em redes de blockchain públicas e descentralizadas.
3. Imutabilidade
Uma vez que uma conta de dados e de programa da Solana ou um contrato inteligente da Ethereum é implantado na blockchain, ele não pode ser modificado ou excluído.
4. Transparência
O código e os dados armazenados em contas de dados e de programa da Solana e em contratos inteligentes da Ethereum são publicamente acessíveis, permitindo transparência e auditabilidade.
5. Programabilidade
Contas de dados e de programa da Solana e contratos inteligentes da Ethereum são programáveis, o que significa que podem conter lógica e executar funções com base em determinadas condições. Na Solana, contas de programa podem criar outras contas de programa, enquanto na Ethereum, contratos inteligentes podem chamar outros contratos inteligentes.
Como a Solana EVM da Neon Labs lida com programas, contas e contratos inteligentes?
A Solana EVM da Neon Labs é uma ferramenta que permite aos desenvolvedores usar as linguagens de programação Solidity/Vyper para criar e implantar contratos inteligentes da Ethereum na blockchain Solana, facilitando a portabilidade de aplicativos Ethereum existentes para a Solana. Antes do lançamento da Neon EVM na devnet da Solana e na mainnet, aplicativos Ethereum eram incompatíveis com o ecossistema Solana.
A Neon EVM fornece uma plataforma para que contratos inteligentes sejam executados como seriam na blockchain Ethereum, aproveitando os recursos que as contas normalmente têm na blockchain Solana, como taxas de gas baixas e alto throughput.
A Solana EVM funciona emulando a Ethereum Virtual Machine na blockchain Solana, permitindo que contratos inteligentes da Ethereum sejam executados na Solana de forma semelhante a como seriam executados na blockchain Ethereum. Isso significa que os desenvolvedores podem usar seu conhecimento já existente da linguagem de programação Solidity e do ecossistema Ethereum para publicar aplicativos na Solana.
Construa contas da Solana com a Alchemy
Um aplicativo descentralizado construído na Solana normalmente compreende contas nativas, contas de dados e contas de programa. Contas nativas representam programas na Solana, contas de dados armazenam informações, e contas de programa executam código na Solana. Se você quer começar a desenvolver, registre uma conta de desenvolvedor Solana gratuita na Alchemy!
Visões gerais relacionadas
Solana27 de julho de 2026
Nós Solana: validadores, nós RPC e self-hosting
O que são nós Solana, como validadores, nós RPC e sistemas de dados secundários se diferenciam, e quando optar por self-hosting versus usar um provedor.
Solana22 de julho de 2026
Dados de arquivamento do Solana: como consultar o histórico completo de blocos e transações
Dados de arquivamento do Solana explicados: por que os nós fazem prune do histórico, quais métodos RPC exigem acesso a dados de arquivamento e como consultar o histórico completo de blocos e transações em escala.
Solana28 de maio de 2026
Solana Agent Kit vs GOAT vs ElizaOS: qual framework você deve usar?
Comparação entre Solana Agent Kit, GOAT e ElizaOS: profundidade nativa em Solana, abrangência multi-chain ou runtime completo de agentes. Exemplos de código e um framework de decisão.

Construa magia blockchain
A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.