NFT's minten
Unieke token-ID's
NFT's minten is een gratis De basis van Web3- en DApp-ontwikkeling-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject De basis van Web3- en DApp-ontwikkeling. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus De basis van Web3- en DApp-ontwikkeling bevat in totaal 4 lessen.
Unieke tokens maken
Door een NFT te minten maakt u een volledig nieuwe token met een unieke tokenId en wijst u deze toe aan een eigenaar. In tegenstelling tot ERC-20-minten, waarbij een saldo wordt verhoogd, levert elke NFT-mint een afzonderlijk, herkenbaar asset op.
Eigendomstoewijzing
De belangrijkste NFT-status bestaat uit een toewijzing van tokenId aan een eigenaarsadres, plus een saldotelling per eigenaar.
<code>mapping(uint256 => address) private _owners;
mapping(address => uint256) private _balances;</code>Een basis-mintfunctie
Minten wijst de token toe aan een ontvanger, verhoogt diens saldo en emit een Transfer vanaf het nuladres, net als bij de mintconventies van ERC-20.
<code>function _mint(address to, uint256 tokenId) internal {
require(to != address(0), 'mint to zero');
require(_owners[tokenId] == address(0), 'already minted');
_owners[tokenId] = to;
_balances[to] += 1;
emit Transfer(address(0), to, tokenId);
}</code>Dubbele id's voorkomen
Een token-id kan maar één keer worden gemint. De controle _owners[tokenId] == address(0) zorgt ervoor dat u nooit een bestaande token overschrijft.
<code>require(_owners[tokenId] == address(0), 'token already exists');</code>Id's automatisch ophogen
Om botsingen tussen id's te voorkomen, gebruiken veel contracten een teller die bij elke mint wordt verhoogd. Zo zijn de id's gegarandeerd uniek en opeenvolgend.
<code>uint256 private _nextId;
function mint(address to) public {
uint256 id = _nextId;
_nextId += 1;
_mint(to, id);
}</code>Veilig minten
_safeMint werkt net als _mint, maar controleert bij een contract als ontvanger of het onERC721Received implementeert. Zo voorkomt u dat NFT's worden opgesloten in contracten die ze niet kunnen verwerken.
<code>function _safeMint(address to, uint256 tokenId) internal {
_mint(to, tokenId);
require(_checkOnERC721Received(to, tokenId), 'unsafe recipient');
}</code>Toegangsbeheer
Net als bij ERC-20 is onbeperkt minten gevaarlijk. Beveilig het minten met eigenaarschap of een minterrol, zodat alleen bevoegde accounts tokens kunnen maken.
<code>function mint(address to, uint256 id) public onlyOwner {
_safeMint(to, id);
}</code>Openbaar minten tegen betaling
Bij veel NFT-uitgiftes kan het publiek minten door een vergoeding te betalen. De functie is payable en controleert de meegestuurde waarde.
<code>uint256 public price = 0.05 ether;
function publicMint() public payable {
require(msg.value >= price, 'insufficient payment');
_safeMint(msg.sender, _nextId);
_nextId += 1;
}</code>Metadata instellen tijdens het minten
Bij het minten legt u vaak een metadata-URI per token vast, zodat elke NFT een eigen afbeelding en eigen kenmerken kan hebben.
<code>mapping(uint256 => string) private _tokenURIs;
function mintWithURI(address to, uint256 id, string memory uri) public onlyOwner {
_safeMint(to, id);
_tokenURIs[id] = uri;
}</code>Voorraadlimieten
Collecties beperken meestal het totale aantal NFT's. Dwing dit af met een controle op de maximale voorraad tijdens het minten.
<code>uint256 public constant MAX_SUPPLY = 10000;
function mint(address to) public onlyOwner {
require(_nextId < MAX_SUPPLY, 'sold out');
_safeMint(to, _nextId);
_nextId += 1;
}</code>Batchgewijs minten
Om meerdere NFT's in één transactie te minten, doorloopt u de mintlogica in een lus. Houd bij grote batches rekening met de gaslimiet van het blok.
<code>function batchMint(address to, uint256 count) public onlyOwner {
for (uint256 i = 0; i < count; i++) {
_safeMint(to, _nextId);
_nextId += 1;
}
}</code>Korte controle
Test uw begrip van het minten van NFT's.
Samenvatting
U hebt geleerd hoe u NFT's mint:
- Elke mint wijst een unieke tokenId toe aan een eigenaar en emit Transfer vanaf address(0)
- Voorkom dubbele id's; automatisch ophogende tellers houden id's uniek
_safeMintvoorkomt dat NFT's worden opgesloten in incompatibele contracten- Voeg toegangsbeheer, optionele betaling, metadata, voorraadlimieten en batchgewijs minten toe
Leer De basis van Web3- en DApp-ontwikkeling met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 29
- Lessen
- 105
Veelgestelde vragen
Is de les “NFT's minten” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad De basis van Web3- en DApp-ontwikkeling, waaronder “NFT's minten”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus De basis van Web3- en DApp-ontwikkeling bevat in totaal 4 lessen.
Wat leer ik in “NFT's minten”?
Unieke token-ID's Je oefent met De basis van Web3- en DApp-ontwikkeling door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met De basis van Web3- en DApp-ontwikkeling te beginnen?
Ervaring vooraf is niet nodig. De basis van Web3- en DApp-ontwikkeling op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “NFT's minten”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over De basis van Web3- en DApp-ontwikkeling?
Ja. Elke les over De basis van Web3- en DApp-ontwikkeling bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- De ERC-721-standaard
- NFT's minten
- Tokenmetadata
- Marktplaatsen