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 sono autonomi e sono disponibili in Rust nativo (cioè, senza framework) e
Anchor.
All'interno del repository troverai le seguenti sottocartelle, ciascuna con vari programmi di esempio al loro interno:
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. | Native, Anchor |
Checking Accounts | Lezioni di sicurezza che mostrano come effettuare controlli sugli account | Native, Anchor |
Close Account | Ti 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 della mano e della leva, mostra come chiamare un altro programma da un programma. | Native, Anchor |
hello solana | Esempio hello world che stampa semplicemente hello world nei log delle transazioni. | Native, Anchor |
Pda Rent payer | Ti mostra come puoi utilizzare i lamport di un PDA per pagare un nuovo account. | Native, Anchor |
Processing Instructions | Ti mostra come gestire i dati delle istruzioni di tipo stringa e u32. | Native, Anchor |
Program Derived Addresses | Mostra come utilizzare i seed per riferirsi a un PDA e salvare dati in esso. | Native, Anchor |
Realloc | Ti mostra come aumentare e diminuire 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 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 aggiungervi più funzionalità. 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?