O que é o Solana Program Library?
Escrito por Sidharth Kumthekar
Solana é uma blockchain programável de alta velocidade que permite aos desenvolvedores criar e implantar aplicações descentralizadas. Solana mantém uma biblioteca de documentação dedicada conhecida como Solana Program Library – uma coleção de programas (ou seja, smart contracts) pré-compilados, implantados e otimizados para uso na blockchain Solana.
Neste artigo, vamos explorar o mundo da Solana e entender como você pode desenvolver rapidamente com a Solana Program Library. Seja você novo em Solana ou um desenvolvedor experiente, você pode criar e implantar facilmente seus próprios tokens personalizados ou uma exchange descentralizada com SPL.
O que são programas na Solana?
Programas na Solana são código executável armazenado em um espaço de armazenamento chamado account, que pode ser executado via transação, de forma semelhante aos smart contracts na Ethereum ou em qualquer outra blockchain programável. No entanto, diferente da Ethereum, onde o programa e o estado são armazenados juntos no smart contract, a Solana adotou uma abordagem de modelo de programa stateless, na qual dados e programas são armazenados em accounts.
O que são accounts na Solana?
De acordo com a documentação da Solana, "Uma account é um registro no ledger da Solana que armazena dados ou é um programa executável."
Pense na Solana como um banco de dados em que as accounts são linhas, as chaves públicas funcionam como IDs, e o valor é a informação armazenada na account. Essa informação pode estar na forma de programas (ou seja, smart contracts) ou de dados/estado do programa.
As accounts podem ser identificadas por uma chave pública única (256 bytes), que normalmente se parece com algo assim: "DM6n1qcUCLzJ1RaAuA4gUbBZ9sfHP6KvEwX8oExQqPhk".
A Solana tem uma separação lógica entre o código e seus dados, o que faz com que existam dois tipos de accounts — executáveis e não executáveis.
1. Accounts executáveis
Accounts que armazenam apenas o código imutável do programa e são marcadas como 'executáveis'.
2. Accounts não executáveis
Essas accounts armazenam todos os dados que seu programa pode usar, incluindo variáveis, ativos e o estado do programa. Embora qualquer pessoa possa ler os dados dessas accounts, apenas o proprietário do programa (quem o implantou) pode alterá-los.
As accounts são mantidas por validator nodes que cobram um custo de manutenção chamado 'Rent' em troca do espaço de memória usado para armazenar as informações acima. O Rent é pago em lamports — a denominação fracionária do SOL (o token nativo da Solana).
O código e os dados do programa na Solana são mantidos separadamente devido a um sistema conhecido como Sealevel Parallel Runtime.
O que é o sealevel parallel runtime?
Sealevel Parallel Runtime é a implementação da Solana de um sistema de processamento de transações em paralelo. Blockchains tradicionais de thread única, como a Ethereum, podem processar apenas uma transação por vez para evitar concorrência. Isso acontece porque os smart contracts da Ethereum são stateful — ou seja, tanto o estado quanto o código estão acoplados no mesmo contrato.
Com a ajuda do Sealevel, a Solana consegue processar milhares de transações não conflitantes em paralelo. Utilizando múltiplos núcleos de validator, a Solana também consegue executar até 50.000 Tps com um tempo de bloco de 400 milissegundos. Isso é possível porque as instruções de transação são stateless e definem previamente quais dados de account elas irão modificar. Assim, programas que não compartilham os mesmos dados de account podem ser executados simultaneamente.
Quais são os tipos de programas na Solana?
O ecossistema da Solana é composto por dois tipos distintos de programas — programas nativos e programas on-chain. Vamos analisar os dois.
O que são programas nativos?
Programas nativos são responsáveis por implementar as funcionalidades centrais da rede Solana, como gerenciar a alocação de armazenamento de accounts, criar novas accounts, processar transações e impor as regras da rede Solana.
Programas nativos são parte integral do modelo central da blockchain Solana. Eles geralmente são escritos em linguagens de baixo nível, como Rust e C/C++, otimizadas para desempenho e segurança. Programas nativos podem ser chamados por qualquer programa/usuário, enquanto um programa de nível kernel em um sistema operacional não pode ser chamado e acessado diretamente por um usuário.
A atualização desses programas só pode ocorrer como parte de upgrades centrais da blockchain ou upgrades do cluster, para adicionar funcionalidades, corrigir bugs ou melhorar o desempenho.
Existem diversos programas nativos que ajudam a proteger o validator. Alguns deles são:
1. System program
O System program é responsável por criar novas accounts, transferir SOL entre duas accounts, atribuir a propriedade de accounts e realizar outras operações de gerenciamento de accounts.
2. Berkeley Packet Filter (BPF):
O Berkeley Packet Filter cuida da implantação, dos upgrades e da execução de programas on-chain.
3. Stake program
O Stake program é responsável por gerenciar o staking de tokens SOL na blockchain Solana.
O que são programas on-chain?
Programas on-chain são programas escritos por usuários (ou seja, smart contracts) implantados diretamente na blockchain. Eles podem ser um dapp, uma exchange, contratos de teste, uma implementação de carteira multi-sig ou qualquer outro programa genérico.
Diferente dos programas nativos, os programas on-chain não fazem parte do núcleo do cluster Solana. Em vez disso, são programas personalizados criados e implantados por desenvolvedores na blockchain Solana. Isso significa que os programas on-chain não são essenciais para o funcionamento da blockchain Solana.
Eles são construídos sobre a infraestrutura central fornecida pelos programas nativos e permitem que os desenvolvedores criem uma ampla variedade de aplicações e serviços na blockchain Solana.
Os dados com os quais os programas interagem são armazenados em accounts de dados separadas e passados como referências por meio de instruções. Somente o proprietário da account pode atualizar os dados do programa.

O que é a Solana Program Library?
A Solana Program Library (SPL) é uma coleção de programas modulares pré-escritos que podem ser usados para criar aplicações descentralizadas na blockchain Solana. O objetivo da SPL é facilitar a criação de apps pelos desenvolvedores, fornecendo um conjunto de componentes reutilizáveis e modulares que podem ser facilmente integrados às suas aplicações, reduzindo a necessidade de escrever código complexo do zero.
Dessa forma, a SPL permite que os desenvolvedores criem apps usando uma abordagem de "blocos de construção", em que cada componente pode ser facilmente integrado à aplicação.
A SPL contém diversos programas genéricos on-chain, sendo o Token program e suas variações os mais populares, o que ajuda a incorporá-los ao seu projeto sem precisar implementá-los do zero.
Pré-requisitos da SPL
Para interagir com a SPL, você pode escolher entre a abordagem via CLI ou a abordagem via JS, mais comumente usada, que utiliza a solana/web3.js para conectar seu código JavaScript à blockchain Solana.
Para interagir com qualquer cluster da Solana, também é necessário configurar a Solana CLI (Command Line Interface). A CLI pode não ser a mais amigável para desenvolvedores iniciantes, mas oferece o acesso mais direto e seguro às suas accounts na Solana. Além disso, é na CLI que os Solana Core Developers costumam disponibilizar as novas funcionalidades primeiro.
O que é o SPL Token Program?
O SPL Token Program é uma implementação genérica para tokens fungíveis e não fungíveis na blockchain Solana. Ele fornece uma interface e uma implementação detalhada que permite aos desenvolvedores criar seu próprio token. O código é escrito nativamente em Rust, e seus bindings gerados automaticamente estão disponíveis em C e JavaScript. O código-fonte está disponível no repositório SPL no GitHub.
Na Ethereum, o Token program funciona de forma diferente de um contrato ERC20 da Ethereum. Vamos usar um exemplo para entender a diferença:
Suponha que você queira publicar três tokens diferentes na blockchain Ethereum. Para isso, você precisa implantar 3 contratos separados, um para cada token. E cada contrato de token manterá o controle do seu próprio estado (por exemplo, saldos e transferências).
Já na Solana, não é necessário implantar três programas de token separados. Em vez disso, você pode implantar um único programa de token genérico, capaz de operar em diversas accounts (por exemplo, accounts de mint e de recebimento).
O endereço do mint identifica de forma exclusiva o tipo de token. Essa informação pode ser passada como argumento para uma única instância estática do programa ERC20, já implantada na chain da Solana.
Como usar o SPL Token Program para criar um token fungível
Com o SPL Token Program, você pode criar seu token fungível em poucas etapas. Antes de mergulhar no Token Program, certifique-se de ter configurado sua carteira via CLI, ou de ter conectado sua carteira Phantom à Devnet da Solana, e de ter feito o airdrop de SOL suficiente na devnet para sua carteira.
Etapa 1: crie seu token fungível
O comando de criação de token é uma instrução para o SPL Token Program on-chain criar um novo token. Ao criar o token com sucesso, receberemos um Token ID junto com a assinatura da transação. Mas ainda precisamos fazer o mint desses tokens.
Este é o comando do token: spl-token create-token

Etapa 2: crie uma token account
Para armazenar as informações relacionadas ao nosso token em uma account de dados separada. A token account pertence ao SPL-Token Program, que controla o acesso a esses tokens, junto com o campo owner (nosso Token ID, que pode gastar/transferir os tokens).
Por se tratar de uma account de dados, seu conteúdo pode ser modificado pelo Token Program ao adicionar/fazer mint, transferir ou queimar os tokens.
Este é o comando de criação da token account: spl-token create-account
Como você pode ver abaixo, perdemos um pouco de SOL como taxa de transação ao criar nosso token e sua account associada. Além disso, note que o supply inicial é zero. Isso significa que precisamos adicionar uma quantidade desejada de supply fazendo o mint dos tokens.

Etapa 3: faça o mint da quantidade desejada de tokens.
Para fazer o mint de uma determinada quantidade de tokens, execute o seguinte comando:
Depois de executar o comando, a quantidade indicada de tokens será mintada na sua carteira do sistema de arquivos, e o supply do token será atualizado.

Você pode verificar o supply atual do token e a account associada a ele executando o seguinte comando:

Agora, vamos transferir nossos tokens para nossa carteira Phantom — uma carteira popular na Solana.
Etapa 4: transfira os tokens
O plano é transferir uma quantidade 'x' de tokens para o destinatário — nossa carteira Phantom. O 'fund recipient' é responsável por criar uma token account para o destinatário, caso ela ainda não exista. Isso é chamado de criar uma Associated Token Account.
Aqui está o comando para transferir tokens:

Você receberá uma mensagem de sucesso assim que a transferência for concluída.

Você pode verificar a transferência executando este comando: *spl-token accounts
Observação: se você executar o comando de supply do token, ele ainda mostrará 2.000 tokens, pois o supply indica o número de tokens em circulação na rede, enquanto o saldo se refere ao número de tokens que sua token account possui.

Etapa 5: limite o supply do token
Um dos aspectos cruciais da segurança e da demanda de um contrato é restringir o supply do token. Para desativar a funcionalidade de mint, defina a mint authority como 'None'.
Comando para desativar a mint authority do token: *spl-token authorize mint --disable


Etapa 6: queime tokens
Se você quiser reduzir o supply de um token, pode optar por queimá-lo.
Aqui está o comando para isso: spl-token burn

Uma vez queimados, tanto o supply quanto o saldo serão reduzidos. Como você pode ver no exemplo, nosso saldo caiu de 4.978 para 3.978, e o supply foi reduzido para 4.000.

A SPL fornece um guia de referência completo sobre como usar o Token Program para realizar outras operações, como:
- Fazer wrap de SOL em um token.
- Transferir tokens para uma token account de destinatário explícita.
- Criar um token não fungível.
Comece sua jornada de desenvolvimento em Solana com a SPL
A Solana Program Library conta com uma série de programas on-chain pré-publicados, com os quais é fácil interagir. Com a SPL, os desenvolvedores podem focar nas características e funcionalidades únicas de seus apps — em vez de gastar tempo com código básico e repetitivo de criação de tokens.
Se você é iniciante e quer começar sua jornada de desenvolvimento em Solana, o primeiro passo é explorar a SPL e a Solana API da Alchemy, além de criar uma conta gratuita de nó RPC da Solana. Isso vai ajudar você a colocar seu programa em funcionamento rapidamente.
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.