De Solana Program Examples repository op GitHub biedt verschillende submappen, elk met codevoorbeelden om ontwikkelaars te helpen bij het leren en experimenteren met Solana blockchain-ontwikkeling.
Je kunt de voorbeelden vinden in de solana-developers/program-examples samen
met README-bestanden die uitleggen hoe je de verschillende voorbeelden kunt
uitvoeren. De meeste voorbeelden zijn op zichzelf staand en zijn beschikbaar in
native Rust (d.w.z. zonder framework) en
Anchor.
Binnen de repository vind je de volgende submappen, elk met verschillende voorbeeldprogramma's:
Er zijn ook voorbeelden van ecosysteemprogramma's
Basis
Bevat een reeks voorbeelden die de fundamentele stappen demonstreren voor het bouwen van Solana-programma's met behulp van native Rust-bibliotheken. Deze voorbeelden zijn ontworpen om ontwikkelaars te helpen de kernconcepten van Solana-programmering te begrijpen.
| Voorbeeldnaam | Beschrijving | Taal |
|---|---|---|
| Account Data | Een adres opslaan met naam, huisnummer, straat en stad in een account. | Native, Anchor |
| Checking Accounts | Beveiligingslessen die laten zien hoe je accountcontroles uitvoert | Native, Anchor |
| Close Account | Laat zien hoe je accounts kunt sluiten om de rent terug te krijgen. | Native, Anchor |
| Counter | Een eenvoudig tellerprogramma in alle verschillende architecturen. | Native, Anchor, mpl-stack |
| Create Account | Hoe je een systeemaccount aanmaakt binnen een programma. | Native, Anchor |
| Cross Program Invocation | Met behulp van een hand-en-hefboomanalogietoont dit je hoe je een ander programma aanroept vanuit een programma. | Native, Anchor |
| hello solana | Hello world-voorbeeld dat alleen hello world afdrukt in de transactielogboeken. | Native, Anchor |
| Pda Rent payer | Laat zien hoe je de lamports van een PDA kunt gebruiken om een nieuw account te betalen. | Native, Anchor |
| Processing Instructions | Laat zien hoe je instruction data van het type string en u32 verwerkt. | Native, Anchor |
| Program Derived Addresses | Laat zien hoe je seeds gebruikt om te verwijzen naar een PDA en gegevens daarin op te slaan. | Native, Anchor |
| Realloc | Laat zien hoe je de grootte van een bestaand account kunt vergroten en verkleinen. | Native, Anchor |
| Rent | Hier leer je hoe je rent-vereisten berekent binnen een programma. | Native, Anchor |
| Repository Layout | Aanbevelingen voor het structureren van je programma-indeling. | Native, Anchor |
| Transfer SOL | Verschillende methoden voor het overdragen van SOL voor systeemaccounts en PDA's. | Native, Anchor, Seahorse |
Tokens
De meeste tokens op Solana maken gebruik van de Solana Program Library (SPL) tokenstandaard. Hier vind je veel voorbeelden van hoe je tokens kunt minten, overdragen en verbranden, en zelfs hoe je er mee kunt werken in programma's.
| Voorbeeldnaam | Beschrijving | Taal |
|---|---|---|
| Token aanmaken | Hoe je een token aanmaakt en Metaplex-metadata toevoegt. | Anchor, Native |
| NFT Minter | Slechts één exemplaar van een token minten en vervolgens de mint-autoriteit verwijderen. | Anchor, Native |
| PDA Mint Authority | Laat zien hoe je de mint-autoriteit van een mint kunt wijzigen om tokens vanuit een programma te minten. | Anchor, Native |
| SPL Token Minter | Legt uit hoe je Associated Token Accounts gebruikt om token accounts bij te houden. | Anchor, Native |
| Token Swap | Uitgebreid voorbeeld dat laat zien hoe je een AMM (automated market maker) pool bouwt voor SPL-tokens. | Anchor |
| Tokens overdragen | Laat zien hoe je SPL-tokens overdraagt via CPI's naar het Token Program. | Anchor, Native |
| Token-2022 | Zie Token 2022 (Token extensions). | Anchor, Native |
Token Extensions (Token 2022)
Token 2022 is een nieuwe standaard voor tokens op Solana. Het is flexibeler en laat je 16 verschillende extensies toevoegen aan een token mint om meer functionaliteit toe te voegen. Een volledige lijst van de extensies vind je in de Aan de slag-gids
| Voorbeeldnaam | Beschrijving | Taal |
|---|---|---|
| Basisprincipes | Hoe je een token aanmaakt, mint en overdraagt. | Anchor |
| Standaard accountstatus | Met deze extensie kun je token accounts aanmaken met een bepaalde status, bijvoorbeeld bevroren. | Anchor, Native |
| Mint Close Authority | Met het oude Token Program was het niet mogelijk een mint te sluiten. Nu wel. | Anchor, Native |
| Meerdere extensies | Laat zien hoe je meerdere extensies aan één enkele mint kunt toevoegen. | Native |
| NFT Metadata pointer | Het is mogelijk de metadata-extensie te gebruiken om NFT's aan te maken en dynamische on-chain metadata toe te voegen. | Anchor |
| Niet-overdraagbaar | Handig voor bijvoorbeeld prestaties, verwijzingsprogramma's of soulbound tokens. | Anchor, Native |
| Overdrachtskosten | Bij elke overdracht worden tokens achtergehouden in het token account, die vervolgens kunnen worden opgehaald. | Anchor, Native |
| Transfer Hook | Vier voorbeelden om extra functionaliteit aan je token toe te voegen via een CPI vanuit het Token Program naar jouw programma. | Anchor |
Ecosysteem Solana-programmavoorbeelden
Derde partijen onderhouden vaak hun eigen bibliotheken met voorbeelden van Solana-programma's. Deze worden beheerd door de aanbieders zelf en niet door de Solana Foundation.
- Quicknode's Solana-programmavoorbeelden biedt aanvullende programma's, met name voor financiële software, voor zowel nieuwere Anchor-versies als het Quasar-framework.
Is this page helpful?