Alt du trenger å vite om å lage NFT-er på Velas
Å lage NFT-er på Velas kan gi team ulike fordeler. Disse inkluderer å utnytte smarte kontrakter som er Ethereum-kompatible, nyte lett rask transaksjonshastighet, være fri for høye gassavgifter og mer.
Innhold:
Introduksjon
NFT er en revolusjonerende teknologi som kan være til nytte for brukerne på ulike måter. For eksempel gir det brukere bevis på eierskap over deres digitale eiendeler som aldri før. Dessuten kan NFT-er føre til en helt ny skaperøkonomi.
Med alle fordelene NFT-er gir, snakker alle om å styrke prosjektene sine med NFT-er. Men vet du hvordan du utvikler NFT-støttede smarte kontrakter? Ikke bekymre deg hvis ikke, fordi denne artikkelen vil lede deg gjennom alle trinnene for å lage NFT smarte kontrakter på Velas Testnet.
Vær oppmerksom på at denne opplæringen viser deg hvordan du lager en en-av-en NFT i stedet for en samling. Så denne smarte kontrakten vil gjøre det mulig for brukere å lage alle bildene eller videoene deres som en NFT.
Hvorfor Velas?
Det er mange blokkjedeprotokoller tilgjengelig der ute. Men utviklere møter fortsatt problemer når de bruker dem. For eksempel sliter Ethereum med høye gassavgifter og langsom transaksjonsbehandling, mens andre blokkjeder krever at utviklere bruker ukjente språk som Rust.
Med stearinlys, de fleste av disse bekymringene eksisterer ikke. Velas sin løsning arver det beste DNA fra Solanas teknologi og kompletterer den med tilleggsfunksjoner for å støtte kompatibilitet med EVM. Dette gir brukere og utviklere en ideell plattform som garanterer en utmerket brukeropplevelse med raskere transaksjonstid. Dessuten forenkler det utviklingsprosessen med Solidity-støtte.
Forutsetninger
For å følge med bør du ha Node plus Yarn, pakkebehandleren. Du bør også ha grunnleggende kunnskap om soliditet. Så hvis du ikke er kjent med det, vennligst utstyr deg med det grunnleggende om Solidity og Hardhatt først.
Oppsett
For å sette opp prosjektet vårt, utfør følgende kommando i terminalen.
npx hardhat
Du vil se følgende utgang hvis du ikke har Hardhat installert.
typen y og klikk skriv, og det vil fortsette å installere Hardhat. Men hvis du allerede har Hardhat, vil den ikke vise deg spørsmålet om Hardhat-installasjon. I stedet vil den stille noen spørsmål om hvordan du vil sette opp prosjektet.
Vi vil ha et grunnleggende Javascript-prosjekt i vår nåværende mappe, så bare klikk skriv for alt.
Da må vi installere avhengighetene våre for prosjektet. For å installere disse, bruker vi følgende kommando.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Ettersom vi bruker Yarn, må vi installere biblioteker som hardhat-toolbox bruker.
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
Hvis du bruker npm versjon 7 eller nyere versjoner, vil disse bibliotekene bli installert direkte.
Det er verdt å merke seg at vi må ta ett steg til før vi skriver en smart kontrakt. Det vil si å fjerne evt .sol filer du ser i kontraktsmappen og lag en ny fil kalt VELASNFT.sol. Dette er mappen der vi skal skrive kontrakten vår.
Hvordan skrive en NFT smart kontrakt
Constructor
Til å begynne med vil vi lage en barebone smart kontrakt der vi definerer solidity-versjonen og lager en tom smart kontraktskropp.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Vi må importere en basis smart kontrakt og en verktøys smart kontrakt. Spesielt er dette kontraktene som skal brukes til å bygge vår NFT smart kontrakt. Grunnkontrakten er ERC721URIlagring, en ERC721-implementering med lagringsbasert token URI-administrasjon.
Tellere er en brukskontrakt som vil bli brukt til å telle antall NFT-er som er preget.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Vår kontrakt vil arve grunnkontrakten. Dette vil gi brukere tilgang til alle funksjonene til basiskontrakten og våre smarte kontrakter.
contract VELASNFT is ERC721URIStorage { }
Nå kan vi skrive konstruktør for vår kontrakt. Spesielt vil konstruktøren vår ikke ha noen argumenter, men du må sende navnet og symbolet til ERC721-konstruktøren.
constructor() ERC721("VELASNFT", "VN") {}
På slutten av dette trinnet skal smartkontrakten din se slik ut.
//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") {} }
Skrive myntefunksjonen
For mintfunksjonen må vi sette opp telleren først. Lim inn følgende kodebit i kontrakten over konstruktøren.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
vi tildeler alle funksjonene til Counters-biblioteket til Counter-strukturen. Deretter vil vi lage en privat variabel kalt _tokenIds.
La oss nå begynne å utvikle funksjonen. Det vil kreve ett argument: tokenURI,og det vil være url-en til json-filen som lagrer alle metadataene. Vi vil komme mer inn på metadata i de følgende avsnittene. Myntfunksjonen vil ha offentlig synlighet og vil returnere ID-en til den pregede NFT-en, som vil være av typen uint256.
function mint(string memory tokenURI) public returns (uint256) { }
Inne i funksjonen vil vi først få gjeldende telling av telleren.
For å prege en NFT, vil vi bruke _mint funksjon som tar adresse og ID som argumenter. For adresse vil vi bruke adressen til den som ringer, og ID vil være gjeldende telling. Etter det må vi redde tokenURI.
For å gjøre det, må vi _setTokenURI, som vil lagre URI med tilhørende ID som nøkkel. Til slutt vil vi øke telleren, og deretter IDen til den opprettede NFT.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Gratulerer! Nå kan din smarte kontrakt prege NFT-er! Her er oversikten over hele kontrakten.
//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; }
}
Hvordan distribuere kontrakten
Vi har bygget vår NFT smart kontrakt. Her kommer det spennende steget, utplassering. Men før vi distribuerer kontrakten, må vi kompilere den og skrive et skript som distribuerer kontrakten. For å kompilere kontrakten, kjør følgende kommando i terminal.
npx hardhat compile
Du vil se følgende utgang.
La oss nå gå videre til neste trinn, og skrive et skript for å distribuere denne smarte kontrakten. For å gjøre det, går vi til skriptmappen og åpner filen deploy.js. Fjern deretter alt innholdet og lim inn følgende utdrag i den filen.
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);
});
Før vi distribuerer kontrakten, må vi legge til detaljer om Velas testnet til hardhat.config.js-filen. Åpne filen og legg til Velas testnettkonfigurasjon.
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] } }
};
Det er også verdt å nevne at før du distribuerer kontrakten, må du legge til private nøkler for lommeboken din i .env-filen og ha noe testnet VLX-token i lommeboken. Du kan få testnet-tokens fra her..
Nå som vi har alle ting satt opp, kjør følgende kommando i terminalen.
npx hardhat run scripts/deploy.js --network velastestnet
Hvis kommandoen utføres vellykket, vil du se utdata som er likt som vist nedenfor i terminalen din.
Mint NFT
Etter hvert som den smarte kontrakten er distribuert, kan vi prege NFT fra terminalen. For å gjøre det, start først hardhat-konsollen ved å bruke følgende kommando.
npx hardhat console --network velastestnet
Utgangen er vist nedenfor.
Deretter vil vi lage kontraktsvariabelen kalt “velasnft”. De få KontraktAt metoden returnerer kontraktsobjektet.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Vennligst se utgangen vist nedenfor.
For å prege NFT, vil vi bruke myntemetoden til velasnft variabel. Vi må også overføre lenken for metadata til metoden. Du kan lese mer om metadatastandarder HER.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Sjekk utgangen nedenfor.
Nå er det på tide å sjekke eieren av NFT. Siden vi preget ved hjelp av eier av metoden, la oss nå passere indeksen til NFT vi preget.
await velasnft.ownerOf(0)
Slik får vi resultatet til NFT-eieren.
konklusjonen
I artikkelen har vi lært hvordan man skriver en NFT-smartkontrakt som lar brukere lage NFT-er. I tillegg har vi klart å distribuere den på Velas testnet. Nå kan du utvikle nye NFT-drevne applikasjoner og utforske det dynamiske Velas-økosystemet.
Du kan også sjekke ut hvordan du bygger en DAO på Velas via denne lenken.
Velas ønsker å styrke de som streber etter å få fart på utviklingen av Web3. Derfor har Velas lansert et stipendprogram på 100 millioner dollar for å oppnå dette oppdraget. I mellomtiden har dette programmet også som mål å støtte utvidelsen av Velas-økosystemet.
Med Velas sitt stipendprogram, kan utviklere bringe sine spennende ideer til live mer effektivt. Hvert prosjekt har mulighet til å motta opptil $100,000 XNUMX i finansiering. I tillegg vil utvalgte team ha tilgang til andre ressurser for å fremme utviklingen av sine prosjekter, inkludert markedsføring, tekniske konsulenter og mer.
Tilskuddsprogrammet dekker et bredt spekter av kategorier, inkludert men ikke begrenset til DeFi, NFT, blockchain-drevne spill og mer.
Hvis du er interessert i å fremskynde masseadopsjonen av kryptovalutaer og blokkjede, søk nå for å bli med i Velas' stadig utviklende økosystem.
Finn mer om Velas:
Ansvarsfraskrivelse — Dette er en sponset artikkel. DappRadar støtter ikke noe innhold eller produkt på denne siden. DappRadar tar sikte på å gi nøyaktig informasjon, men lesere bør alltid gjøre sine egne undersøkelser før de tar grep. Artikler av DappRadar kan ikke betraktes som investeringsråd.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- Platoblokkkjede. Web3 Metaverse Intelligence. Kunnskap forsterket. Tilgang her.
- kilde: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 millioner
- 000
- 1
- 10
- 7
- 9
- a
- Om oss
- ovenfor
- akselerer
- adgang
- kontoer
- nøyaktig
- Handling
- tillegg
- Ytterligere
- adresse
- Adopsjon
- råd
- Etter
- mål
- Alle
- tillater
- allerede
- alltid
- og
- søknader
- argument
- argumenter
- Artikkel
- artikler
- Eiendeler
- tilgjengelig
- avvente
- basen
- grunnleggende
- Grunnleggende
- fordi
- før du
- være
- under
- nytte
- Fordeler
- BEST
- blockchain
- blockchain-drevne
- blokkjeder
- kroppen
- bringe
- bygge
- bygget
- som heter
- Caller
- Kan få
- kategorier
- sjekk
- samling
- kompatibilitet
- kompatibel
- bekymringer
- konklusjon
- Konfigurasjon
- ansett
- Konsoll
- konsulenter
- innhold
- kontrakt
- kontrakter
- Tilsvarende
- Motvirke
- tellere
- Dekker
- skape
- opprettet
- Opprette
- skaperen
- Skaperøkonomi
- cryptocurrencies
- Gjeldende
- DAO
- dappradar
- dato
- Defi
- utplassere
- utplassert
- utplasserings
- distribusjon
- Distribueres
- detaljer
- utvikle
- utviklere
- Utvikling
- digitalt
- Digitale eiendeler
- direkte
- dna
- ikke
- dynamisk
- hver enkelt
- økonomi
- økosystem
- effektivt
- bemyndige
- myndiggjøring
- muliggjøre
- påtegne
- fullstendig
- ERC721
- feil
- ethereum
- alle
- alt
- eksempel
- utmerket
- spennende
- henrette
- utvidelse
- erfaring
- utforske
- eksporten
- Face
- kjent
- FAST
- raskere
- Egenskaper
- avgifter
- filet
- Filer
- Først
- følge
- etter
- Foster
- Gratis
- fra
- funksjon
- funksjoner
- finansiering
- Games
- GAS
- gassavgift
- få
- Gi
- gir
- Go
- innvilge
- tilskudd
- garantier
- her.
- Høy
- Hvordan
- Hvordan
- Men
- HTTPS
- ideell
- Ideer
- gjennomføring
- importere
- in
- inkludere
- Inkludert
- indeks
- informasjon
- installere
- i stedet
- interessert
- Introduksjon
- investering
- saker
- IT
- Javascript
- bli medlem
- JSON
- nøkkel
- nøkler
- Vet
- kunnskap
- språk
- lansert
- føre
- lært
- utnytte
- bibliotekene
- Bibliotek
- Life
- Begrenset
- LINK
- Se
- ser ut som
- Hoved
- fikk til
- ledelse
- leder
- mange
- Marketing
- Mass
- Masseadopsjon
- max bredde
- Mellomtiden
- medium
- Minne
- metadata
- metode
- millioner
- mynte
- preget
- Oppdrag
- MIT
- Moduler
- mer
- mest
- flytte
- navn
- Trenger
- nettverk
- Ny
- neste
- NFT
- NFT smarte kontrakter
- NFT-er
- node
- spesielt
- Antall
- objekt
- ONE
- åpen
- OpenSea
- Opportunity
- Annen
- oversikt
- egen
- eieren
- eierskap
- pakke
- fordeler
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- vær så snill
- i tillegg til
- forutsetninger
- presentasjon
- privat
- Private nøkler
- prosess
- prosessering
- Produkt
- program
- prosjekt
- prosjekter
- bevis
- beskyttet
- protokoller
- gi
- offentlig
- spørsmål
- område
- Lese
- lesere
- motta
- fjerne
- krever
- forskning
- Ressurser
- resultere
- retur
- avkastning
- revolusjonær
- Kjør
- Rust
- Spar
- skript
- seksjoner
- valgt
- sett
- oppsett
- bør
- Vis
- vist
- lignende
- siden
- langsom
- Smart
- smart kontrakt
- Smarte kontrakter
- So
- SOL
- soliditet
- løsning
- noen
- fart
- Sponset
- Scene
- standarder
- Begynn
- Trinn
- Steps
- Still
- butikker
- streber
- kamper
- vellykket
- støtte
- symbol
- Ta
- tar
- ta
- snakker
- lag
- Teknisk
- Teknologi
- terminal
- testnet
- De
- Grunnleggende
- deres
- Der.
- derfor
- ting
- Gjennom
- tid
- til
- token
- tokens
- Transaksjonen
- transaksjonshastighet
- sant
- tutorial
- ukjent
- URL
- bruke
- Bruker
- Brukererfaring
- Brukere
- verktøyet
- ulike
- stearinlys
- versjon
- av
- videoer
- synlighet
- W3
- lommebok
- måter
- Web3
- webp
- hvilken
- mens
- HVEM
- bred
- Bred rekkevidde
- vil
- verdt
- skrive
- skriving
- Du
- Din
- deg selv
- zephyrnet