Esempi di programmi
Il repository Solana Program Examples su GitHub offre diverse sottocartelle, ognuna contenente esempi di codice per aiutare gli sviluppatori ad apprendere e sperimentare con lo sviluppo sulla blockchain Solana.
Puoi trovare gli esempi nel solana-developers/program-examples insieme ai file
README che ti spiegano come eseguire i diversi esempi. La maggior parte degli
esempi è autonoma e disponibile sia in Rust nativo (cioè, senza framework) che
in Anchor.
All'interno del repository troverai le seguenti sottocartelle, ciascuna con vari programmi di esempio:
Nozioni di base
Contiene una serie di esempi che dimostrano i passaggi fondamentali per costruire programmi Solana utilizzando le librerie Rust native. Questi esempi sono progettati per aiutare gli sviluppatori a comprendere i concetti fondamentali della programmazione Solana.
| Nome esempio | Descrizione | Linguaggio |
|---|---|---|
| Account Data | Salvare un indirizzo con nome, numero civico, via e città in un account. | Nativo, Anchor |
| Checking Accounts | Lezioni di sicurezza che mostrano come effettuare controlli sugli account | Nativo, Anchor |
| Close Account | Ti mostra come chiudere gli account per recuperare il rent. | Nativo, Anchor |
| Counter | Un semplice programma contatore in tutte le diverse architetture. | Nativo, Anchor, mpl-stack |
| Create Account | Come creare un account di sistema all'interno di un programma. | Nativo, Anchor |
| Cross Program Invocation | Usando un'analogia di mano e leva, mostra come chiamare un altro programma da un programma. | Nativo, Anchor |
| hello solana | Esempio hello world che stampa semplicemente hello world nei log delle transazioni. | Nativo, Anchor |
| Pda Rent payer | Ti mostra come utilizzare i lamport di un PDA per pagare un nuovo account. | Nativo, Anchor |
| Processing Instructions | Ti mostra come gestire i dati delle istruzioni di tipo stringa e u32. | Nativo, Anchor |
| Program Derived Addresses | Mostra come usare i seed per riferirsi a un PDA e salvare dati in esso. | Nativo, Anchor |
| Realloc | Ti mostra come aumentare e diminuire la dimensione di un account esistente. | Nativo, Anchor |
| Rent | Qui imparerai come calcolare i requisiti di rent all'interno di un programma. | Nativo, Anchor |
| Repository Layout | Raccomandazioni su come strutturare il layout del tuo programma. | Nativo, Anchor |
| Transfer SOL | Diversi metodi per trasferire SOL per account di sistema e PDA. | Nativo, Anchor, Seahorse |
Token
La maggior parte dei token su Solana utilizza lo standard token della Solana Program Library (SPL). Qui puoi trovare molti esempi su come coniare, trasferire, bruciare token e persino come interagire con essi nei programmi.
| Nome esempio | Descrizione | Linguaggio |
|---|---|---|
| Create Token | Come creare un token e aggiungervi i metadati metaplex. | Anchor, Native |
| NFT Minter | Coniare solo una quantità di un token e poi rimuovere l'autorità di conio. | Anchor, Native |
| PDA Mint Authority | Ti mostra come cambiare l'autorità di conio di un mint, per coniare token dall'interno di un programma. | Anchor, Native |
| SPL Token Minter | Spiega come utilizzare gli Associated Token Account per tenere traccia dei token account. | Anchor, Native |
| Token Swap | Esempio esteso che mostra come costruire un pool AMM (automated market maker) per token SPL. | Anchor |
| Transfer Tokens | Mostra come trasferire token SPL utilizzando CPI nel token program. | Anchor, Native |
| Token-2022 | Vedi Token 2022 (Token Extensions). | Anchor, Native |
Token 2022 (Token Extensions)
Token 2022 è un nuovo standard per i token su Solana. È più flessibile e ti permette di aggiungere 16 diverse estensioni a un token mint per aggiungere più funzionalità ad esso. Un elenco completo delle estensioni può essere trovato nella Guida introduttiva
| Nome esempio | Descrizione | Linguaggio |
|---|---|---|
| Basics | Come creare un token, coniarlo e trasferirlo. | Anchor |
| Default account state | Questa estensione ti permette di creare token account con un certo stato, ad esempio congelato. | Anchor, Native |
| Mint Close Authority | Con il vecchio token program non era possibile chiudere un mint. Ora lo è. | Anchor, Native |
| Multiple Extensions | Ti mostra come puoi aggiungere più estensioni a un singolo mint | Native |
| NFT Metadata pointer | È possibile utilizzare l'estensione metadata per creare NFT e aggiungere metadati dinamici on chain. | Anchor |
| Not Transferable | Utile ad esempio per achievement, programmi di referral o qualsiasi token soul bound. | Anchor, Native |
| Transfer fee | Ogni trasferimento dei token trattiene alcuni token nel token account che possono poi essere raccolti. | Anchor, Native |
| Transfer Hook | Quattro esempi per aggiungere funzionalità aggiuntive al tuo token utilizzando un CPI dal token program al tuo programma. | Anchor |
Is this page helpful?