Alles wat u moet weten over het maken van NFT's op Velas
Het creëren van NFT's op Velas kan teams verschillende voordelen opleveren. Deze omvatten onder meer het gebruik van slimme contracten die compatibel zijn met Ethereum, genieten van een bliksemsnelle transactiesnelheid, vrij zijn van hoge gaskosten en meer.
Inhoud:
Introductie
NFT is een revolutionaire technologie waar gebruikers op verschillende manieren profijt van kunnen hebben. Het geeft gebruikers bijvoorbeeld een bewijs van eigendom van hun digitale activa als nooit tevoren. Bovendien kunnen NFT’s leiden tot een geheel nieuwe creatieve economie.
Met alle voordelen die NFT's met zich meebrengen, heeft iedereen het over het versterken van hun projecten met NFT's. Maar weet u hoe u door NFT ondersteunde slimme contracten moet ontwikkelen? Maak je geen zorgen als dat niet het geval is, want dit artikel begeleidt je bij alle stappen voor het maken van slimme NFT-contracten op Velas Testnet.
Houd er rekening mee dat deze tutorial u laat zien hoe u een één-op-één NFT kunt maken in plaats van een verzameling. Met dit slimme contract kunnen gebruikers dus al hun foto's of video's als een NFT opslaan.
Waarom Velas?
Er zijn veel blockchain-protocollen beschikbaar. Maar ontwikkelaars ondervinden nog steeds problemen bij het gebruik ervan. Ethereum kampt bijvoorbeeld met hoge gaskosten en trage transactieverwerking, terwijl andere blockchains vereisen dat ontwikkelaars onbekende talen zoals Rust gebruiken.
met kaarsen, de meeste van deze zorgen bestaan niet. De oplossing van Velas erft het beste DNA van de technologie van Solana en vult deze aan met extra functies ter ondersteuning van de compatibiliteit met EVM. Dit geeft gebruikers en ontwikkelaars een ideaal platform dat een uitstekende gebruikerservaring met een snellere transactietijd garandeert. Bovendien vereenvoudigt het het ontwikkelingsproces met Solidity-ondersteuning.
Voorwaarden
Om mee te gaan, zou u Node plus Yarn moeten hebben, de pakketbeheerder. Ook moet je basiskennis van Solidity hebben. Dus als je er niet bekend mee bent, rust jezelf dan uit met de basisprincipes van Solidity en Veiligheidshelm eerst.
Setup
Om ons project op te zetten, voert u de volgende opdracht uit in de terminal.
npx hardhat
U ziet de volgende uitvoer als Hardhat niet is geïnstalleerd.
Type y en klik op invoeren, en er wordt overgegaan tot het installeren van de veiligheidshelm. Als u echter al Hardhat hebt, wordt er niet gevraagd om Hardhat te installeren. In plaats daarvan worden enkele vragen gesteld over hoe u het project wilt opzetten.
We willen een eenvoudig Javascript-project in onze huidige map, dus klik gewoon invoeren voor alles.
Vervolgens moeten we onze afhankelijkheden voor het project installeren. Om deze te installeren, gebruiken we de volgende opdracht.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Omdat we Yarn gebruiken, moeten we bibliotheken installeren die hardhat-toolbox gebruikt.
yarn add --dev @nomicfoundation/hardhat-toolbox @nomicfoundation/hardhat-network-helpers @nomicfoundation/hardhat-chai-matchers @nomiclabs/hardhat-ethers @nomiclabs/hardhat-etherscan chai ethers hardhat-gas-reporter solidity-coverage @typechain/hardhat typechain @typechain/ethers-v5 @ethersproject/abi @ethersproject/providers
Als u npm versie 7 of latere versies gebruikt, worden deze bibliotheken rechtstreeks geïnstalleerd.
Het is vermeldenswaard dat we nog een stap moeten zetten voordat we een slim contract kunnen schrijven. Dat is om alles te verwijderen .Sol bestanden die u ziet in de map Contracten en maak een nieuw bestand met de naam VELASNFT.sol. Dit is de map waarin we ons contract zullen schrijven.
Hoe een NFT slim contract te schrijven
Constructeur
Om te beginnen zullen we een barebone smart contract creëren waarin we de soliditeitsversie definiëren en een lege smart contract body creëren.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
We moeten een basis slim contract en een slim nutscontract importeren. Dit zijn met name de contracten die zullen worden gebruikt om ons slimme NFT-contract op te bouwen. Het basiscontract is ERC721URISopslag, een ERC721-implementatie met op opslag gebaseerd token-URI-beheer.
Counters is een nutscontract dat wordt gebruikt om het aantal geslagen NFT's te tellen.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Ons contract erft het basiscontract. Hierdoor hebben gebruikers toegang tot alle functies van het basiscontract en onze slimme contracten.
contract VELASNFT is ERC721URIStorage { }
Nu kunnen we een constructeur voor ons contract schrijven. Onze constructor heeft met name geen argumenten, maar u moet de naam en het symbool doorgeven aan de ERC721-constructor.
constructor() ERC721("VELASNFT", "VN") {}
Aan het einde van deze stap zou uw slimme contract er als volgt uit moeten zien.
//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { constructor() ERC721("VELASNFT", "VN") {} }
Het schrijven van de muntfunctie
Voor de muntfunctie moeten we eerst de teller instellen. Plak het volgende fragment in het contract boven de constructor.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
we wijzen alle functies van de Counters-bibliotheek toe aan de Counter-structuur. Vervolgens maken we een privévariabele genaamd _tokenIds.
Laten we nu beginnen met het ontwikkelen van de functie. Er is één argument nodig: tokenURI, en het zal de URL zijn naar het json-bestand waarin alle metagegevens zijn opgeslagen. In de volgende paragrafen gaan we dieper in op metadata. De mint-functie zal publieke zichtbaarheid hebben en zal de ID van de geslagen NFT retourneren, die van het type uint256 zal zijn.
function mint(string memory tokenURI) public returns (uint256) { }
Binnen de functie krijgen we eerst de huidige telling van de teller.
Om een NFT te slaan, zullen we gebruiken _munt functie die adres en ID als argumenten gebruikt. Als adres gebruiken we het adres van de beller, en ID is de huidige telling. Daarna moeten we de tokenURI.
Om dat te doen, moeten we wel _setTokenURI, waarmee de URI met de bijbehorende ID als sleutel wordt opgeslagen. Uiteindelijk verhogen we de teller en vervolgens de ID van de gemaakte NFT.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Gefeliciteerd! Nu kan uw slimme contract NFT's slaan! Hier vindt u het overzicht van het gehele contract.
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.9; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol"; contract VELASNFT is ERC721URIStorage { using Counters for Counters.Counter; Counters.Counter private _tokenIds; constructor() ERC721("VELASNFT", "VN") {} function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(msg.sender, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
}
Hoe het contract te implementeren
We hebben ons NFT slimme contract gebouwd. Hier komt de opwindende stap: implementatie. Maar voordat we het contract implementeren, moeten we het compileren en een script schrijven dat het contract implementeert. Om het contract samen te stellen, voert u de volgende opdracht uit in de terminal.
npx hardhat compile
U ziet de volgende uitvoer.
Laten we nu naar de volgende fase gaan: het schrijven van een script voor de implementatie van dit slimme contract. Om dit te doen, gaan we naar de map scripts en openen het bestand implement.js. Verwijder vervolgens alle inhoud en plak het volgende fragment in dat bestand.
const hre = require("hardhat"); async function main () { // We get the contract to deploy const VELASNFT = await hre.ethers.getContractFactory('VELASNFT'); console.log("Deploying NFT contract..."); const velasnft = await VELASNFT.deploy(); await velasnft.deployed(); console.log('NFT contract deployed to:', velasnft.address); } main() .then(() => process.exit(0)) .catch(error => { console.error(error); process.exit(1);
});
Voordat we het contract implementeren, moeten we details over Velas-testnet toevoegen aan het bestand hardhat.config.js. Open het bestand en voeg Velas testnet-configuratie toe.
require("@nomicfoundation/hardhat-toolbox");
const dotenv = require('dotenv');
dotenv.config(); /** @type import('hardhat/config').HardhatUserConfig */
module.exports = { solidity: "0.8.9", networks: { velastestnet: { url: `https://evmexplorer.testnet.velas.com/rpc`, accounts: [process.env.PRIVATE_KEY] } }
};
Het is ook de moeite waard om te vermelden dat voordat u het contract implementeert, u privésleutels voor uw portemonnee aan het .env-bestand moet toevoegen en een testnet VLX-token in de portemonnee moet hebben. U kunt testnet-tokens verkrijgen van hier.
Nu we alles hebben ingesteld, voert u de volgende opdracht uit in de terminal.
npx hardhat run scripts/deploy.js --network velastestnet
Als de opdracht succesvol wordt uitgevoerd, ziet u de uitvoer zoals hieronder weergegeven in uw terminal.
Mint de NFT
Terwijl het slimme contract wordt geïmplementeerd, kunnen we de NFT vanaf de terminal slaan. Om dat te doen, start u eerst de veiligheidshelmconsole met behulp van de volgende opdracht.
npx hardhat console --network velastestnet
De uitvoer wordt hieronder weergegeven.
Vervolgens maken we de contractvariabele genaamd “velasnft”. De GetContractAt methode retourneert het contractobject.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Raadpleeg de onderstaande uitvoer.
Om de NFT te minten, gebruiken we de mint-methode van de velasnft variabel. Ook moeten we de link voor metadata doorgeven aan de methode. U kunt meer lezen over metadatastandaarden HIER.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Bekijk de uitvoer hieronder.
Nu is het tijd om de eigenaar van de NFT te controleren. Omdat we geslagen hebben met behulp van de eigenaar van methode, laten we nu de index doorgeven van de NFT die we hebben geslagen.
await velasnft.ownerOf(0)
Zo krijgen we het resultaat van de NFT-eigenaar.
Conclusie
In het artikel hebben we geleerd hoe we een slim NFT-contract kunnen schrijven waarmee gebruikers NFT's kunnen maken. Bovendien zijn we erin geslaagd om het op Velas-testnet te implementeren. Nu kunt u nieuwe NFT-aangedreven toepassingen ontwikkelen en het dynamische Velas-ecosysteem verkennen.
Via deze link kun je ook bekijken hoe je een DAO op Velas bouwt.
Velas wil degenen die ernaar streven de ontwikkeling van Web3 te versnellen empoweren. Daarom heeft Velas een subsidieprogramma van $100 miljoen gelanceerd om deze missie te volbrengen. Ondertussen heeft dit programma ook tot doel de uitbreiding van het Velas-ecosysteem te ondersteunen.
Met het subsidieprogramma van Velaskunnen ontwikkelaars hun opwindende ideeën efficiënter tot leven brengen. Elk project heeft de mogelijkheid om maximaal $ 100,000 aan financiering te ontvangen. Bovendien krijgen geselecteerde teams toegang tot andere middelen om de ontwikkeling van hun projecten te bevorderen, waaronder marketing, technische consultants en meer.
Het subsidieprogramma omvat een breed scala aan categorieën, waaronder maar niet beperkt tot DeFi, NFT, blockchain-aangedreven games en meer.
Als u geïnteresseerd bent in het versnellen van de massale adoptie van cryptocurrencies en blockchain, Meld u nu aan om lid te worden van het steeds evoluerende ecosysteem van Velas.
Meer informatie over Velas:
Disclaimer — Dit is een gesponsord artikel. DappRadar onderschrijft geen enkele inhoud of product op deze pagina. DappRadar streeft ernaar nauwkeurige informatie te verstrekken, maar lezers moeten altijd hun eigen onderzoek doen voordat ze actie ondernemen. Artikelen van DappRadar kunnen niet worden beschouwd als beleggingsadvies.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- Platoblockchain. Web3 Metaverse Intelligentie. Kennis versterkt. Toegang hier.
- Bron: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 miljoen
- 000
- 1
- 10
- 7
- 9
- a
- Over
- boven
- versnellen
- toegang
- accounts
- accuraat
- Actie
- toevoeging
- Extra
- adres
- Adoptie
- advies
- Na
- wil
- Alles
- toestaat
- al
- altijd
- en
- toepassingen
- argument
- argumenten
- dit artikel
- artikelen
- Activa
- Beschikbaar
- wachten
- baseren
- basis-
- De Basis
- omdat
- vaardigheden
- wezen
- onder
- voordeel
- betekent
- BEST
- blockchain
- blockchain-powered
- blokketens
- lichaam
- brengen
- bouw
- bebouwd
- Dit betekent dat we onszelf en onze geliefden praktisch vergiftigen.
- bezoeker
- Kan krijgen
- categorieën
- controle
- Collectie
- verenigbaarheid
- verenigbaar
- Zorgen
- conclusie
- Configuratie
- beschouwd
- troosten
- consultants
- content
- contract
- contracten
- Overeenkomend
- Counter
- counters
- Covers
- en je merk te creëren
- aangemaakt
- Wij creëren
- schepper
- Makerseconomie
- cryptocurrencies
- Actueel
- DAO
- dapper
- gegevens
- Defi
- implementeren
- ingezet
- het inzetten
- inzet
- ontplooit
- gegevens
- ontwikkelen
- ontwikkelaars
- Ontwikkeling
- digitaal
- Digitale activa
- direct
- dna
- Dont
- dynamisch
- elk
- economie
- ecosysteem
- efficiënt
- machtigen
- empowering
- in staat stellen
- onderschreven
- geheel
- ERC721
- fout
- ethereum
- iedereen
- alles
- voorbeeld
- uitstekend
- opwindend
- uitvoeren
- uitbreiding
- ervaring
- Verken
- export
- Gezicht
- vertrouwd
- SNELLE
- sneller
- Voordelen
- vergoedingen
- Dien in
- Bestanden
- Voornaam*
- volgen
- volgend
- Bevorderen
- Gratis
- oppompen van
- functie
- functies
- financiering
- Spellen
- GAS
- gas vergoedingen
- krijgen
- Geven
- geeft
- Go
- toe te kennen
- subsidies
- garanties
- hier
- Hoge
- Hoe
- How To
- Echter
- HTTPS
- ideaal
- ideeën
- uitvoering
- importeren
- in
- omvatten
- Inclusief
- index
- informatie
- installeren
- verkrijgen in plaats daarvan
- geïnteresseerd
- Introductie
- investering
- problemen
- IT
- JavaScript
- mee
- json
- sleutel
- toetsen
- blijven
- kennis
- Talen
- gelanceerd
- leiden
- geleerd
- leveraging
- bibliotheken
- Bibliotheek
- Life
- Beperkt
- LINK
- Kijk
- ziet eruit als
- Hoofd
- beheerd
- management
- manager
- veel
- Marketing
- Massa
- Massa-adoptie
- max-width
- Ondertussen
- Medium
- Geheugen
- Metadata
- methode
- miljoen
- munt
- geslagen
- Missie
- MIT
- Module
- meer
- meest
- beweging
- naam
- Noodzaak
- netwerken
- New
- volgende
- NFT
- NFT slimme contracten
- NFT's
- knooppunt
- in het bijzonder
- aantal
- object
- EEN
- open
- Open zee
- kansen
- Overige
- overzicht
- het te bezitten.
- eigenaar
- ownership
- pakket
- perks
- platform
- Plato
- Plato gegevensintelligentie
- PlatoData
- dan
- plus
- vereisten
- presentatie
- privaat
- Privésleutels
- verwerking
- Product
- Programma
- project
- projecten
- bewijs
- beschermd
- protocollen
- zorgen voor
- publiek
- Contact
- reeks
- Lees
- lezers
- ontvangen
- verwijderen
- vereisen
- onderzoek
- Resources
- resultaat
- terugkeer
- Retourneren
- revolutionair
- lopen
- Roest
- Bespaar
- scripts
- secties
- gekozen
- reeks
- setup
- moet
- tonen
- getoond
- gelijk
- sinds
- traag
- slim
- slim contract
- Slimme contracten
- So
- SOL
- stevigheid
- oplossing
- sommige
- snelheid
- Gesponsorde
- Stadium
- normen
- begin
- Stap voor
- Stappen
- Still
- winkels
- zich inspannen
- strijd
- Met goed gevolg
- ondersteuning
- symbool
- Nemen
- neemt
- het nemen
- praat
- teams
- Technisch
- Technologie
- terminal
- Testnet
- De
- The Basics
- hun
- Er.
- daarom
- spullen
- Door
- niet de tijd of
- naar
- teken
- tokens
- transactie
- transactiesnelheid
- waar
- zelfstudie
- onbekend
- URL
- .
- Gebruiker
- Gebruikerservaring
- gebruikers
- utility
- divers
- kaarsen
- versie
- via
- Video's
- zichtbaarheid
- W3
- Portemonnee
- manieren
- Web3
- webp
- welke
- en
- WIE
- breed
- Grote range
- wil
- waard
- schrijven
- het schrijven van
- You
- Your
- jezelf
- zephyrnet