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 in solana-developers/program-examples insieme ai file
README che spiegano come eseguire i diversi esempi. La maggior parte degli
esempi è autonoma ed è disponibile in Rust nativo (cioè, senza framework) e
Anchor.
All'interno del repository troverai le seguenti sottocartelle, ciascuna con vari programmi di esempio:
Sono disponibili anche esempi di programmi dell'ecosistema
Basi
Contiene una serie di esempi che illustrano i passaggi fondamentali per la creazione di programmi Solana utilizzando le librerie Rust native. Questi esempi sono progettati per aiutare gli sviluppatori a comprendere i concetti fondamentali della programmazione su Solana.
| Nome Esempio | Descrizione | Linguaggio |
|---|---|---|
| Account Data | Salvataggio di un indirizzo con nome, numero civico, via e città in un account. | Native, Anchor |
| Checking Accounts | Lezioni di sicurezza che mostrano come eseguire i controlli sugli account | Native, Anchor |
| Close Account | Mostra come chiudere gli account per recuperare il rent. | Native, Anchor |
| Counter | Un semplice programma contatore in tutte le diverse architetture. | Native, Anchor, mpl-stack |
| Create Account | Come creare un account di sistema all'interno di un programma. | Native, Anchor |
| Cross Program Invocation | Usando l'analogia di una mano e una leva, mostra come chiamare un altro programma dall'interno di un programma. | Native, Anchor |
| hello solana | Esempio Hello World che stampa semplicemente "hello world" nei log delle transazioni. | Native, Anchor |
| Pda Rent payer | Mostra come utilizzare i lamport di un PDA per pagare un nuovo account. | Native, Anchor |
| Processing Instructions | Mostra come gestire instruction data di tipo stringa e u32. | Native, Anchor |
| Program Derived Addresses | Mostra come usare i seed per fare riferimento a un Program Derived Address e salvare dati al suo interno. | Native, Anchor |
| Realloc | Mostra come aumentare e ridurre la dimensione di un account esistente. | Native, Anchor |
| Rent | Qui imparerai come calcolare i requisiti di rent all'interno di un programma. | Native, Anchor |
| Repository Layout | Raccomandazioni su come strutturare il layout del tuo programma. | Native, Anchor |
| Transfer SOL | Diversi metodi per trasferire SOL per account di sistema e PDA. | Native, Anchor, Seahorse |
Token
La maggior parte dei token su Solana utilizza lo standard token della Solana Program Library (SPL). Qui puoi trovare numerosi esempi su come coniare, trasferire e bruciare token, e persino come interagire con essi all'interno dei programmi.
| Nome Esempio | Descrizione | Linguaggio |
|---|---|---|
| Create Token | Come creare un token e aggiungere metadati metaplex. | Anchor, Native |
| NFT Minter | Conia una sola unità di un token e successivamente rimuove l'autorità di conio. | Anchor, Native |
| PDA Mint Authority | Mostra come modificare 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 completo che mostra come costruire un pool AMM (automated market maker) per token SPL. | Anchor |
| Transfer Tokens | Mostra come trasferire token SPL tramite CPI nel token program. | Anchor, Native |
| Token-2022 | Vedi Token 2022 (Token Extensions). | Anchor, Native |
Token Extensions (Token 2022)
Token 2022 è un nuovo standard per i token su Solana. È più flessibile e consente di aggiungere 16 diverse estensioni a un mint token per ampliarne le funzionalità. Un elenco completo delle estensioni è disponibile nella Guida introduttiva
| Nome Esempio | Descrizione | Linguaggio |
|---|---|---|
| Basics | Come creare un token, coniarlo e trasferirlo. | Anchor |
| Default account state | Questa estensione consente di creare token account con un determinato stato, ad esempio bloccati. | Anchor, Native |
| Mint Close Authority | Con il vecchio token program non era possibile chiudere un mint. Ora è possibile. | Anchor, Native |
| Multiple Extensions | Mostra come 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 token soul bound. | Anchor, Native |
| Transfer fee | Ad ogni trasferimento, una parte dei token viene trattenuta nel token account e può essere successivamente raccolta. | Anchor, Native |
| Transfer Hook | Quattro esempi per aggiungere funzionalità aggiuntive al tuo token tramite una CPI dal token program al tuo programma. | Anchor |
Esempi di programmi Solana dell'ecosistema
Terze parti spesso mantengono le proprie librerie di esempi di programmi Solana. Queste sono gestite dai provider e non dalla Solana Foundation.
- Esempi di programmi Solana di Quicknode fornisce programmi aggiuntivi, in particolare per software finanziario, sia per le versioni più recenti di Anchor che per il framework Quasar.
Is this page helpful?