O repositório Solana Program Examples no GitHub oferece várias subpastas, cada uma contendo exemplos de código para ajudar desenvolvedores a aprender e experimentar o desenvolvimento na blockchain Solana.
Você pode encontrar os exemplos no solana-developers/program-examples junto
com arquivos README que explicam como executar os diferentes exemplos. A maioria
dos exemplos é independente e está disponível em Rust nativo (ou seja, sem
framework) e Anchor.
Dentro do repositório você encontrará as seguintes subpastas, cada uma com diversos programas de exemplo:
Existem também exemplos de programas do ecossistema
Básico
Contém uma série de exemplos que demonstram os passos fundamentais para construir programas Solana usando bibliotecas Rust nativas. Estes exemplos foram concebidos para ajudar os desenvolvedores a compreender os conceitos essenciais da programação em Solana.
| Nome do Exemplo | Descrição | Linguagem |
|---|---|---|
| Account Data | Guardar um endereço com nome, número de casa, rua e cidade numa conta. | Native, Anchor |
| Checking Accounts | Lições de segurança que mostram como realizar verificações de contas | Native, Anchor |
| Close Account | Mostra como encerrar contas para recuperar o rent. | Native, Anchor |
| Counter | Um programa de contador simples em todas as diferentes arquiteturas. | Native, Anchor, mpl-stack |
| Create Account | Como criar uma conta do sistema dentro de um programa. | Native, Anchor |
| Cross Program Invocation | Usando uma analogia de mão e alavanca, mostra como chamar outro programa a partir de dentro de um programa. | Native, Anchor |
| hello solana | Exemplo de hello world que apenas imprime hello world nos logs de transação. | Native, Anchor |
| Pda Rent payer | Mostra como usar os lamport de um PDA para pagar por uma nova conta. | Native, Anchor |
| Processing Instructions | Mostra como processar instruction data do tipo string e u32. | Native, Anchor |
| Program Derived Addresses | Mostra como usar seeds para referenciar um PDA e guardar dados nele. | Native, Anchor |
| Realloc | Mostra como aumentar e diminuir o tamanho de uma conta existente. | Native, Anchor |
| Rent | Aqui você aprenderá como calcular os requisitos de rent dentro de um programa. | Native, Anchor |
| Repository Layout | Recomendações sobre como estruturar o layout do seu programa. | Native, Anchor |
| Transfer SOL | Diferentes métodos de transferência de SOL para contas do sistema e PDAs. | Native, Anchor, Seahorse |
Tokens
A maioria dos tokens na Solana utiliza o padrão de token da Solana Program Library (SPL). Aqui você encontrará vários exemplos de como criar, transferir e queimar tokens, além de como interagir com eles em programas.
| Nome do Exemplo | Descrição | Linguagem |
|---|---|---|
| Create Token | Como criar um token e adicionar metadados do Metaplex a ele. | Anchor, Native |
| NFT Minter | Criação de apenas uma unidade de um token e remoção da autoridade de emissão. | Anchor, Native |
| PDA Mint Authority | Demonstra como alterar a autoridade de emissão de um mint para emitir tokens a partir de um programa. | Anchor, Native |
| SPL Token Minter | Explica como usar associated token accounts para rastrear token accounts. | Anchor, Native |
| Token Swap | Exemplo extenso que mostra como construir um pool AMM (automated market maker) para tokens SPL. | Anchor |
| Transfer Tokens | Demonstra como transferir tokens SPL usando CPIs para o token program. | Anchor, Native |
| Token-2022 | Veja Token 2022 (Token extensions). | Anchor, Native |
Token Extensions (Token 2022)
O Token 2022 é um novo padrão para tokens na Solana. É mais flexível e permite adicionar 16 extensões diferentes a um mint de token para ampliar sua funcionalidade. Uma lista completa das extensões pode ser encontrada no Guia de Introdução
| Nome do Exemplo | Descrição | Linguagem |
|---|---|---|
| Basics | Como criar um token, emiti-lo e transferi-lo. | Anchor |
| Default account state | Esta extensão permite criar token accounts com um determinado estado, por exemplo, congeladas. | Anchor, Native |
| Mint Close Authority | Com o antigo token program não era possível fechar um mint. Agora é possível. | Anchor, Native |
| Multiple Extensions | Demonstra como adicionar múltiplas extensões a um único mint. | Native |
| NFT Metadata pointer | É possível usar a extensão de metadados para criar NFTs e adicionar metadados dinâmicos on-chain. | Anchor |
| Not Transferable | Útil, por exemplo, para conquistas, programas de indicação ou tokens vinculados à alma (soul bound tokens). | Anchor, Native |
| Transfer fee | A cada transferência dos tokens, uma parte é retida na token account e pode ser coletada posteriormente. | Anchor, Native |
| Transfer Hook | Quatro exemplos para adicionar funcionalidades extras ao seu token usando uma CPI do token program para o seu programa. | Anchor |
Exemplos de programas Solana do ecossistema
Terceiros frequentemente mantêm suas próprias bibliotecas de exemplos de programas Solana. Estas são mantidas pelos provedores, e não pela Solana Foundation.
- Exemplos de Programas Solana da Quicknode fornece programas adicionais, especialmente para software financeiro, tanto para versões mais recentes do Anchor quanto para o framework Quasar.
Is this page helpful?