Leestijd: 8 min.
Metaplex Core Candy Machine heeft de oorspronkelijke Candy Machine vervangen als de aanbevolen manier om NFT-collecties op Solana te lanceren. Lees in plaats daarvan het artikel âHoe lanceer je een NFT-collectie met Metaplex Core Candy Machine? â. Deze handleiding is uitsluitend bedoeld voor historische en educatieve doeleinden.
Overzichtâ
Hallo lezer! We hebben veel verzoeken gekregen voor nog Solana waarin we je laten zien hoe je een 1-of-1-token, oftewel een NFT, op Solana kunt mintten. In de vorige handleiding zijn we nog niet helemaal bij het spannende gedeelte gekomen: het daadwerkelijk koppelen van de afbeelding en de metadata aan het token. Hiervoor gaan we een programma gebruiken dat Candy Machine heet. Candy Machine is een tool waarmee je je eigen Solana kunt opzetten in je eigen hoekje van het internet. In deze gids laten we je stap voor stap zien hoe je deze one-stop-shop voor het minten van Solana kunt opzetten.
OPMERKING: deze handleiding is bedoeld om je de werkwijze en het proces te laten zien waarmee je je eigen NFTâs op Solana kunt maken en uitgeven. Het is niet bedoeld om je de onderliggende technologieĂ«n bij te brengen.
Er valt veel te leren over het Solana , en als je van plan bent om verder te gaan dan dit âhappy pathâ dat we aanbieden, zul je je erin moeten verdiepen en deze afzonderlijke onderdelen onder de knie moeten krijgen! Groeten :)
Deze vereisten moeten worden geĂŻnstalleerd voordat we verdergaan. We zullen voor elk daarvan een link naar de installatiedocumenten of -handleidingen plaatsen, aangezien daarin beter wordt uitgelegd hoe je ze moet installeren dan wij dat zouden kunnen doen.
**Vereisten:
**
- Node.js (versie 14.17.6)
- Docker
- Garen
- Solana
- Metaplex CLI
- Phantom Wallet
- Grondige kennis van CLI-tools
Overzicht van de snoepautomaatâ
Candy Machine is een tool die gebruikmaakt van de Metaplex CLI om een NFT te genereren, een afbeelding en relevante metadata aan het NFT-token te koppelen en een âeerlijke veilingâ op te zetten. Een âeerlijke veilingâ bestaat in feite uit twee afzonderlijke onderdelen. Ten eerste begint de veiling voor iedereen op hetzelfde tijdstip. Geen voorverkoop! Ten tweede wordt de transactie niet verzonden als er geen NFTâs meer kunnen worden geslagen.
Je hoeft je SOL niet langer zomaar in het niets te gooien, in onzekerheid of er nog meer edities zullen worden geslagen. Hoewel er op technisch vlak HEEL VEEL te ontdekken valt, leer je het beste door zelf aan de slag te gaan!
De repository forkenâ
Er zijn twee verschillende repositories die je kunt gebruiken. De ene is opgezet door de beheerders van candy-machine en de andere is door een lid van de community daar bovenop gebouwd om abstract aantal zaken abstract en de workflows te vereenvoudigen. In deze tutorial gebruiken we de laatste. Mocht je echter van het standaardtraject moeten afwijken, dan heb je basiskennis nodig van de werking van Metaplex.
Om de repository te forken, ga je naar de repository van het communitylid en fork je deze door bovenaan op de âforkâ-knop te klikken

Nadat je de repository hebt ge-forked, wil je deze klonen:
git clone https://github.com/<YourUsernameHere>/solana-candy-factory
Nu de projecten succesvol zijn geforkt, kun je beginnen met het opzetten van het project.
Projectopzetâ
Nu alle code naar je lokale computer is gedownload, moet je de map ` solana ` openen in de code-editor van je keuze.
Afhankelijkheden installerenâ
Nu dat achter de rug is, moeten we beginnen met het voorbereiden van het project voor de ontwikkeling.
Het eerste wat je moet doen, is de afhankelijkheden voor het project installeren door de volgende opdracht uit te voeren:
garen
De database opstartenâ
Nadat je de benodigde afhankelijkheden hebt geĂŻnstalleerd, wil je de Postgres-database in Docker opstarten waarin je NFT's worden opgeslagen voordat ze op het netwerk worden geĂŻmplementeerd.
yarn start-nft-manager-db
Hierdoor wordt je database opgestart en kan Strapi â een headless CMS waarin al onze NFT-gegevens worden opgeslagen â verbinding maken met de Docker-container.
NFT-beheerderâ
Dat is nu juist het mooie van deze repository. Je kunt een headless CMS gebruiken om al je NFTâs te uploaden en te beheren, voordat je ze online zet om ze te laten mint. Om dit in te stellen, voer je de volgende opdracht uit:
yarn nft-manager
Je kunt vervolgens zelf naar http://localhost:1337/admin. Je moet eerst een gratis Strapi-account aanmaken en inloggen. Vervolgens moet je een "gebruiker" aanmaken; klik hiervoor op het betreffende tabblad, zoals hieronder weergegeven.

Uw gebruiker moet over de volgende velden beschikken:
- Gebruikersnaam: admin
- Wachtwoord: Admin123
- E-mail: yourEmail@website.com
- Bevestigd: Op
Rol: Geverifieerd (Dit is ontzettend belangrijk!)

Nu hoef je alleen nog maar je zojuist aangemaakte gebruiker op te slaan. Als je dat hebt gedaan, kunnen we nu verdergaan met het aanmaken van een verzameling.
Een collectie heeft een één-op-veel-relatie met NFTâs. EĂ©n collectie kan door meerdere NFTâs worden aangeduid. Het proces lijkt sterk op het aanmaken van een gebruiker. Ga naar het tabblad âCollectiesâ om een nieuwe collectie aan te maken. Hier zijn slechts twee velden. "Naam" en "Familie" zijn de enige velden die betrekking hebben op "collecties", omdat de velden die we in Strappi invullen moeten overeenkomen met de JSON-attributen die zijn gedefinieerd in de Solana Metadata Standard.
"Naam" moet de naam zijn van het specifieke project dat je start, terwijl "Familie" deel kan uitmaken van een breder thema.
Omwille van de transparantie zal ik de velden bij hun naam noemen.
De naam wordt "Collection_Name" en de familie wordt "Collection_Family". Je kunt de collectie nu opslaan en naar het tabblad "NFT's" gaan om je eigen NFT's aan te maken.
Ik zal je laten zien hoe die van mij eruitziet, en uitleggen wat elk veld betekent:
Opmaak voor de volgende informatie --> Veldnaam: Waarde --- Toelichting.
- Naam: CoolNFTName --- De naam van je NFT
- Symbool: CNN --- Dit is de âtickerâ voor je NFT, net zoals DAPE voor de Degenerate Ape Academy.
- Beschrijving: Dit is de beschrijving van mijn supercoole NFT --- De beschrijving van de afzonderlijke NFT.
- Seller_fee_basis_points: 500 --- Dit is het percentage aan royalty's dat de maker van de NFT bij elke aankoop ontvangt. (500 komt overeen met 5%). Je hoeft je hier binnen dit framework niet al te veel zorgen over te maken, aangezien we dit via de CLI zullen instellen, maar het is altijd goed om je gegevens te controleren en ervoor te zorgen dat dit is ingesteld zoals je het wilt, ongeacht de CLI-implementatie.
- Afbeelding: Image.png --- Naam van het afbeeldingsbestand. Laat dit op Image.png staan (ongeacht de naam van de geĂŒploade foto), aangezien dit dynamisch wordt gewijzigd. Dit MOET overeenkomen met het onderstaande JSON-veld âProperties -> Files -> Uriâ.
- URL van de animatie: n.v.t. --- URL naar een multimediabijlage van het bestand. De ondersteunde bestandsformaten zijn MP4 en MOV voor video, MP3, FLAC en WAV voor audio en GLB voor AR/3D-bestanden. Je kunt de
?ext={bestandsextensie}verzoek om informatie over het bestandstype. - Externe URL: quicknode --- Dit is meestal een extra link om het bestand te bekijken op een centrale website, zoals imgur. Je kunt dit veld echter ook leeg laten. (leeg == "")
- Eigenschappen:
{
"attributes": [
{
"value": "Solana",
"trait_type": "Chain"
},
{
"value": "Quicknode",
"trait_type": "Company"
},
{
"value": "Tutorial",
"trait_type": "Category"
},
{
"value": "Degen",
"trait_type": "Status"
}
]
}
Dit zijn de âattributenâ van je NFT. Je bent niet verplicht om deze op te geven, en ze zijn volledig willekeurig. Als je echter wel een attribuut instelt, moet dit zowel een waarde als een âtrait_typeâ-veld bevatten. De waarde kan een tekenreeks of een getal zijn.
- Eigenschappen:
{
"files": [
{
"uri": "image.png",
"type": "image/png"
}
],
"category": "image",
"creators": [
{
"share": 100,
"address": "7K6XCSwVh3YZAh7GhARZ9pQ7gWkFNuWQ77U5CbV3PcF3"
}
]
}
Het veld âPropertiesâ bevat veel informatie over wat er precies wordt getoond. Het bevat een link naar het type (zie hier de ondersteunde typen), verwijst naar de URI (geĂŒpload op Arweave) en bevat vervolgens een link naar de makers van de NFT. Er kunnen meerdere makers zijn, zolang het totaal van de âshareâ maar 100 bedraagt.
- Inhoud: Hier kun je je afbeelding uploaden. Dit is degene die ik heb gekozen!

Let op: je afbeelding moet in .png-formaat zijn!
Nadat je al deze gegevens hebt ingevuld met de waarden die bij jou passen, ben je helemaal klaar om een NFT te slaan!
De snoepautomaat in gebruik nemenâ
Nu alles klaar is, hoeven we nog maar een paar commandoâs uit te voeren. Dankzij het framework waarop we voortbouwen, zijn dat er maar een paar.
Allereerst willen we ervoor zorgen dat alle inkomsten die de NFTâs opleveren, naar jou gaan! Gebruik de volgende opdracht:
yarn update-creator-all-rows
Vervolgens wordt je gevraagd om het juiste adres in te voeren. Voer hier je Solana in. Dit is het adres van de maker dat je eerder hebt gekregen!
Vervolgens kun je het percentage aan royalty's invoeren dat je zou moeten ontvangen over toekomstige verkopen van het kunstwerk. Dit is het veld âSeller_fee_basis_pointsâ.
Nu we die nogmaals hebben gecontroleerd, kunnen we de NFT-gegevens genereren.
yarn generate-nfts-sources
Er wordt gevraagd of je wilt schudden. Hierdoor wordt de volgorde waarin mensen NFTâs mintten willekeurig bepaald. Als je een grote drop van 5.000 tot 10.000 NFTâs organiseert, wil je waarschijnlijk niet dat ze op volgorde verschijnen! Deze functie zorgt ervoor dat de volgorde willekeurig wordt bepaald. Voor deze tutorial maakt het niet uit, aangezien er maar één NFT is.
Nadat je het vorige commando hebt uitgevoerd, zouden er twee bestanden in de map nft-manager/nfts-sources moeten staan: 0.json en 0.png.
Als die aanwezig zijn, ben je klaar om te implementeren!
Aangezien we devnet gebruiken, verloopt het proces iets anders dan wanneer je op mainnet zou implementeren, maar in de README van de repository worden de verschillen heel duidelijk uitgelegd. Je kunt de volgende opdracht uitvoeren en alle standaardwaarden accepteren door op de âEnterâ-toets te drukken zonder iets anders in te voeren.
yarn setup-dev
Als je meer wilt weten over hoe dit commando precies werkt, kun je dat nalezen in de readme! Het is voldoende om te weten dat hiermee het programma wordt opgezet dat verantwoordelijk is voor het slaan van de NFTâs die je zojuist hebt gegenereerd.
Dat was het dan voor het implementatieproces!
Je NFT slaanâ
Nu het programma is opgestart, hoeven we alleen nog maar ermee aan de slag te gaan! Voer de volgende opdracht uit om de website in te stellen.
yarn dev
Hierdoor wordt een webpagina geopend op http://localhost:3000. Je kunt je wallet koppelen en op de knop "Mint" klikken, zoals hieronder weergegeven.

Zoals je op de afbeelding kunt zien, zijn er geen exemplaren meer beschikbaar, aangezien we het enige exemplaar al hebben geslagen. Als je probeert een exemplaar te slaan terwijl er geen meer beschikbaar zijn, wordt je gevraagd de transactie te bevestigen; vervolgens wijst het programma deze af, omdat er geen exemplaren meer zijn om aan je te geven. Dit sluit aan bij de âeerlijke veilingâ waar we het eerder over hadden.
Als alles volgens plan is verlopen, zou je nu een NFT in je Phantom-wallet moeten hebben. Zo ziet die van mij eruit!


Conclusieâ
Gefeliciteerd! Je hebt zojuist je eerste NFT op Solana geslagen! Er gebeurt achter de schermen heel wat waar we niet op zijn ingegaan. Als je van plan bent een grotere NFT-lancering op het mainnet te doen, raad mainnet aan je grondig te verdiepen in Metaplex om te zien hoe de verschillende commandoâs werken. Het verloopt namelijk niet altijd vlekkeloos, en je wilt je probleem kunnen oplossen mocht er iets misgaan. Dat gezegd hebbende: je hebt in ieder geval al heel wat geleerd!
Schrijf je in voor onze nieuwsbrief voor meer artikelen en handleidingen over Ethereum. Als je feedback hebt, neem dan gerust contact met ons op via Twitter. Je kunt ook altijd met ons chatten op onze Discord-communityserver, waar je enkele van de coolste ontwikkelaars tegenkomt die je ooit zult ontmoeten :)