Exemplos de Programas
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 são independentes e estão disponíveis 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:
Básicos
Contém uma série de exemplos que demonstram os passos fundamentais para construir programas Solana usando bibliotecas Rust nativas. Esses exemplos são projetados para ajudar desenvolvedores a entender os conceitos principais da programação Solana.
Nome do Exemplo | Descrição | Linguagem |
---|---|---|
Account Data | Salvando um endereço com nome, número da casa, rua e cidade em uma conta. | Nativo, Anchor |
Checking Accounts | Lições de segurança que mostram como fazer verificações de contas | Nativo, Anchor |
Close Account | Mostra como fechar contas para recuperar o rent. | Nativo, Anchor |
Counter | Um programa de contador simples em todas as diferentes arquiteturas. | Nativo, Anchor, mpl-stack |
Create Account | Como criar uma conta do sistema dentro de um programa. | Nativo, Anchor |
Cross Program Invocation | Usando uma analogia de mão e alavanca, mostra como chamar outro programa dentro de um programa. | Nativo, Anchor |
hello solana | Exemplo de hello world que apenas imprime hello world nos logs de transação. | Nativo, Anchor |
Pda Rent payer | Mostra como você pode usar os lamports de um PDA para pagar por uma nova conta. | Nativo, Anchor |
Processing Instructions | Mostra como lidar com dados de instrução do tipo string e u32. | Nativo, Anchor |
Program Derived Addresses | Mostra como usar seeds para se referir a um PDA e salvar dados nele. | Nativo, Anchor |
Realloc | Mostra como aumentar e diminuir o tamanho de uma conta existente. | Nativo, Anchor |
Rent | Aqui você aprenderá como calcular requisitos de rent dentro de um programa. | Nativo, Anchor |
Repository Layout | Recomendações sobre como estruturar o layout do seu programa. | Nativo, Anchor |
Transfer SOL | Diferentes métodos de transferência de SOL para contas do sistema e PDAs. | Nativo, Anchor, Seahorse |
Tokens
A maioria dos tokens na Solana usa o padrão de token da Solana Program Library (SPL). Aqui você pode encontrar muitos exemplos sobre como cunhar, transferir, queimar tokens e até mesmo 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 | Cunhando apenas uma quantidade de um token e depois removendo a autoridade de cunhagem. | Anchor, Native |
PDA Mint Authority | Mostra como alterar a autoridade de cunhagem de uma mint para cunhar tokens dentro 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 | Mostra como transferir tokens SPL usando CPIs no token program. | Anchor, Native |
Token-2022 | Veja Token 2022 (Token Extensions). | Anchor, Native |
Token 2022 (Token Extensions)
Token 2022 é um novo padrão para tokens na Solana. É mais flexível e permite adicionar 16 diferentes extensões a uma token mint para adicionar mais funcionalidades a ela. 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, cunhar e transferi-lo. | Anchor |
Default account state | Esta extensão permite criar token accounts com um determinado estado, por exemplo, congelado. | Anchor, Native |
Mint Close Authority | Com o antigo token program não era possível fechar uma mint. Agora é. | Anchor, Native |
Multiple Extensions | Mostra como você pode adicionar múltiplas extensões a uma única 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 quaisquer tokens vinculados à alma (soul bound). | Anchor, Native |
Transfer fee | Cada transferência dos tokens retém alguns tokens na token account que podem então ser coletados. | Anchor, Native |
Transfer Hook | Quatro exemplos para adicionar funcionalidades adicionais ao seu token usando um CPI do token program para o seu programa. | Anchor |
Is this page helpful?