Allt du behöver veta om att skapa NFT på Velas
Att skapa NFTs på Velas kan ge team olika fördelar. Dessa inkluderar att utnyttja smarta kontrakt som är Ethereum-kompatibla, njuta av lätt snabb transaktionshastighet, vara fri från höga gasavgifter och mer.
Innehåll:
Beskrivning
NFT är en revolutionerande teknik som kan gynna användare på olika sätt. Till exempel ger det användarna bevis på ägande av sina digitala tillgångar som aldrig förr. Dessutom kan NFT:er leda till en helt ny skaparekonomi.
Med alla förmåner som NFTs ger, talar alla om att ge sina projekt styrka med NFTs. Men vet du hur man utvecklar NFT-stödda smarta kontrakt? Oroa dig inte om inte, för den här artikeln kommer att leda dig genom alla steg för att skapa NFT-smarta kontrakt på Velas Testnet.
Var medveten om att den här handledningen visar dig hur du skapar en en-av-en-NFT istället för en samling. Så det här smarta kontraktet gör det möjligt för användare att skapa alla sina foton eller videor som en NFT.
Varför Velas?
Det finns många blockchain-protokoll tillgängliga där ute. Men utvecklare möter fortfarande problem när de använder dem. Till exempel kämpar Ethereum med höga gasavgifter och långsam transaktionsbearbetning, medan andra blockkedjor kräver att utvecklare använder okända språk som Rust.
Med ljus, de flesta av dessa problem existerar inte. Velas lösning ärver det bästa DNA från Solanas teknologi och kompletterar den med ytterligare funktioner för att stödja kompatibilitet med EVM. Detta ger användare och utvecklare en idealisk plattform som garanterar en utmärkt användarupplevelse med snabbare transaktionstid. Dessutom förenklar det utvecklingsprocessen med Solidity-stöd.
Förutsättningar
För att följa med bör du ha Node plus Yarn, pakethanteraren. Dessutom bör du ha grundläggande kunskaper i Solidity. Så om du inte är bekant med det, vänligen utrusta dig med grunderna i Solidity och Hjärtat först.
Inställning
För att ställa in vårt projekt, kör följande kommando i terminalen.
npx hardhat
Du kommer att se följande utdata om du inte har Hardhat installerad.
Typ y och klicka Till New Earth, och det fortsätter att installera Hardhat. Men om du redan har Hardhat kommer den inte att visa dig uppmaningen om Hardhat-installation. Istället kommer det att ställa några frågor om hur du vill lägga upp projektet.
Vi vill ha ett grundläggande Javascript-projekt i vår nuvarande mapp så klicka bara Till New Earth för allt.
Sedan måste vi installera våra beroenden för projektet. För att installera dem kommer vi att använda följande kommando.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Eftersom vi använder Yarn måste vi installera bibliotek som hardhat-toolbox använder.
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
Om du använder npm version 7 eller senare versioner kommer dessa bibliotek att installeras direkt.
Det är värt att notera att vi måste ta ett steg till innan vi skriver ett smart kontrakt. Det vill säga att ta bort ev .Sol filer du ser i kontraktsmappen och skapa en ny fil som heter VELASNFT.sol. Det här är mappen där vi ska skriva vårt kontrakt.
Hur man skriver ett NFT smart kontrakt
Konstruktör
Till att börja med kommer vi att skapa ett barebone smart kontrakt där vi definierar solidity-versionen och skapar en tom smart kontraktskropp.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Vi måste importera ett smart baskontrakt och ett smart verktygskontrakt. Det är särskilt de kontrakt som kommer att användas för att bygga vårt NFT-smarta kontrakt. Grundkontraktet är ERC721URISorage, en ERC721-implementering med lagringsbaserad token-URI-hantering.
Räknare är ett nyttokontrakt som kommer att användas för att räkna antalet präglade NFT.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Vårt kontrakt kommer att ärva grundkontraktet. Detta ger användarna tillgång till alla funktioner i baskontraktet och våra smarta kontrakt.
contract VELASNFT is ERC721URIStorage { }
Nu kan vi skriva konstruktör för vårt kontrakt. Noterbart kommer vår konstruktör inte att ha några argument, men du måste skicka namnet och symbolen till ERC721-konstruktören.
constructor() ERC721("VELASNFT", "VN") {}
I slutet av detta steg bör ditt smarta kontrakt se ut så här.
//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") {} }
Skriver mintfunktionen
För mintfunktionen måste vi ställa in disken först. Klistra in följande utdrag i kontraktet ovanför konstruktören.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
vi tilldelar alla funktioner i Counters-biblioteket till Counter-strukturen. Sedan kommer vi att skapa en privat variabel som heter _tokenIds.
Låt oss nu börja utveckla funktionen. Det kommer att krävas ett argument: tokenURI,och det kommer att vara webbadressen till json-filen som lagrar all metadata. Vi kommer att gå in mer på metadata i följande avsnitt. Mintfunktionen kommer att vara offentlig och kommer att returnera ID:t för den präglade NFT, som kommer att vara av typen uint256.
function mint(string memory tokenURI) public returns (uint256) { }
Inuti funktionen kommer vi först att få räknarens aktuella räkning.
För att prägla en NFT kommer vi att använda _mynta funktion som tar adress och ID som argument. För adress kommer vi att använda adressen till den som ringer, och ID kommer att vara det aktuella antalet. Efter det måste vi spara tokenURI.
För att göra det måste vi _setTokenURI, som kommer att spara URI med motsvarande ID som nyckel. I slutändan kommer vi att öka räknaren och sedan ID för den skapade NFT.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Grattis! Nu kan ditt smarta kontrakt skapa NFTs! Här är översikten över hela kontraktet.
//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; }
}
Hur man distribuerar kontraktet
Vi har byggt vårt NFT smarta kontrakt. Här kommer det spännande steget, utbyggnaden. Men innan vi distribuerar kontraktet måste vi kompilera det och skriva ett skript som distribuerar kontraktet. För att kompilera kontraktet, kör följande kommando i terminal.
npx hardhat compile
Du kommer att se följande utdata.
Låt oss nu gå vidare till nästa steg och skriva ett manus för att implementera detta smarta kontrakt. För att göra det går vi till skriptmappen och öppnar filen deploy.js. Ta sedan bort allt innehåll och klistra in följande 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);
});
Innan vi distribuerar kontraktet måste vi lägga till detaljer om Velas testnet till filen hardhat.config.js. Öppna filen och lägg till Velas testnet-konfiguration.
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 är också värt att nämna att innan du distribuerar kontraktet måste du lägga till privata nycklar för din plånbok till .env-filen och ha någon testnet VLX-token i plånboken. Du kan få testnet-tokens från här..
Nu när vi har alla saker inställda, kör följande kommando i terminalen.
npx hardhat run scripts/deploy.js --network velastestnet
Om kommandot exekveras framgångsrikt kommer du att se utdata som liknar nedan i din terminal.
Mint NFT
När det smarta kontraktet implementeras kan vi skapa NFT från terminalen. För att göra det, starta först hardhat-konsolen med följande kommando.
npx hardhat console --network velastestnet
Utgången visas nedan.
Sedan skapar vi kontraktsvariabeln som heter “velasnft”. De getContractAt metod returnerar kontraktsobjektet.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Se utgången som visas nedan.
För att prägla NFT kommer vi att använda mintmetoden velasnft variabel. Vi måste också skicka länken för metadata till metoden. Du kan läsa mer om Metadatastandarder HÄR.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Kolla in utgången nedan.
Nu är det dags att kontrollera ägaren till NFT. Sedan vi präglade med hjälp av ägare av metod, låt oss nu passera indexet för den NFT som vi skapade.
await velasnft.ownerOf(0)
Det är så vi får resultatet av NFT-ägaren.
Slutsats
I artikeln har vi lärt oss hur man skriver ett NFT-smart kontrakt som tillåter användare att skapa NFT:s. Dessutom har vi lyckats distribuera det på Velas testnet. Nu kan du utveckla nya NFT-drivna applikationer och utforska det dynamiska Velas ekosystem.
Du kan också kolla in hur man bygger en DAO på Velas via denna länk.
Velas vill stärka dem som strävar efter att påskynda utvecklingen av Web3. Därför har Velas lanserat ett anslagsprogram på 100 miljoner dollar för att utföra detta uppdrag. Samtidigt syftar detta program också till att stödja expansionen av Velas ekosystem.
Med Velas bidragsprogram, kan utvecklare förverkliga sina spännande idéer mer effektivt. Varje projekt har möjlighet att få upp till $100,000 XNUMX i finansiering. Dessutom kommer utvalda team att ha tillgång till andra resurser för att främja utvecklingen av sina projekt, inklusive marknadsföring, tekniska konsulter och mer.
Bidragsprogrammet täcker ett brett utbud av kategorier, inklusive men inte begränsat till DeFi, NFT, blockchain-drivna spel och mer.
Om du är intresserad av att påskynda massantagandet av kryptovalutor och blockchain, ansök nu för att gå med i Velas ekosystem i ständig utveckling.
Läs mer om Velas:
Villkor — Det här är en sponsrad artikel. DappRadar stöder inte något innehåll eller produkt på denna sida. DappRadar syftar till att tillhandahålla korrekt information, men läsare bör alltid göra sin egen forskning innan de vidtar åtgärder. Artiklar av DappRadar kan inte betraktas som investeringsrådgivning.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- Platoblockchain. Web3 Metaverse Intelligence. Kunskap förstärkt. Tillgång här.
- Källa: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 miljoner
- 000
- 1
- 10
- 7
- 9
- a
- Om Oss
- ovan
- accelererande
- tillgång
- konton
- exakt
- Handling
- Dessutom
- Annat
- adress
- Antagande
- rådgivning
- Efter
- Syftet
- Alla
- tillåter
- redan
- alltid
- och
- tillämpningar
- Argumentet
- argument
- Artikeln
- artiklar
- Tillgångar
- tillgänglig
- vänta
- bas
- grundläggande
- Grunderna
- därför att
- innan
- Där vi får lov att vara utan att konstant prestera,
- nedan
- fördel
- Fördelarna
- BÄST
- blockchain
- blockchain driven
- blockchains
- kropp
- föra
- SLUTRESULTAT
- byggt
- kallas
- Uppringare
- Kan få
- kategorier
- ta
- samling
- kompatibilitet
- kompatibel
- oro
- slutsats
- konfiguration
- anses
- Konsol
- konsulter
- innehåll
- kontrakt
- kontrakt
- Motsvarande
- Motverka
- räknare
- Täcker
- skapa
- skapas
- Skapa
- skaparen
- Skaparekonomi
- cryptocurrencies
- Aktuella
- <b>PostNord</b>
- dappradar
- datum
- Defi
- distribuera
- utplacerade
- utplacera
- utplacering
- vecklas ut
- detaljer
- utveckla
- utvecklare
- Utveckling
- digital
- Digitala tillgångar
- direkt
- DNA-
- inte
- dynamisk
- varje
- ekonomi
- ekosystemet
- effektivt
- ge
- ge
- möjliggöra
- stödja
- helt
- ERC721
- fel
- ethereum
- alla
- allt
- exempel
- utmärkt
- spännande
- exekvera
- expansionen
- erfarenhet
- utforska
- export
- Ansikte
- bekant
- SNABB
- snabbare
- Funktioner
- avgifter
- Fil
- Filer
- Förnamn
- följer
- efter
- Foster
- Fri
- från
- fungera
- funktioner
- finansiering
- Games
- GAS
- gasavgifter
- skaffa sig
- Ge
- ger
- Go
- bevilja
- bidrag
- garantier
- här.
- Hög
- Hur ser din drömresa ut
- How To
- Men
- HTTPS
- idealisk
- idéer
- genomförande
- importera
- in
- innefattar
- Inklusive
- index
- informationen
- installera
- istället
- intresserad
- Beskrivning
- investering
- problem
- IT
- JavaScript
- delta
- json
- Nyckel
- nycklar
- Vet
- kunskap
- Språk
- lanserades
- leda
- lärt
- hävstångs
- bibliotek
- Bibliotek
- livet
- Begränsad
- LINK
- se
- ser ut som
- Huvudsida
- förvaltade
- ledning
- chef
- många
- Marknadsföring
- Massa
- Massadoption
- max-bredd
- Samtidigt
- Medium
- Minne
- metadata
- metod
- miljon
- mint
- präglat
- Mission
- MIT
- Modulerna
- mer
- mest
- flytta
- namn
- Behöver
- nätverk
- Nya
- Nästa
- NFT
- NFT smarta kontrakt
- NFT
- nod
- i synnerhet
- antal
- objektet
- ONE
- öppet
- OpenSea
- Möjlighet
- Övriga
- Översikt
- egen
- ägaren
- ägande
- paket
- förmåner
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- snälla du
- plus
- förutsättningar
- presentation
- privat
- Privata nycklar
- process
- bearbetning
- Produkt
- Program
- projektet
- projekt
- bevis
- skyddad
- protokoll
- ge
- allmän
- frågor
- område
- Läsa
- läsare
- motta
- ta bort
- kräver
- forskning
- Resurser
- resultera
- avkastning
- återgår
- revolutionerande
- Körning
- Rust
- Save
- skript
- sektioner
- vald
- in
- inställning
- skall
- show
- visas
- liknande
- eftersom
- långsam
- smarta
- smart kontrakt
- Smarta kontrakt
- So
- SOL
- fasthet
- lösning
- några
- fart
- Sponsrade
- Etapp
- standarder
- starta
- Steg
- Steg
- Fortfarande
- lagrar
- strävar
- Struggles
- Framgångsrikt
- stödja
- Symbolen
- Ta
- tar
- tar
- tala
- lag
- Teknisk
- Teknologi
- terminal
- TestNet
- Smakämnen
- Grunderna
- deras
- Där.
- därför
- saker
- Genom
- tid
- till
- token
- tokens
- transaktion
- transaktionshastighet
- sann
- handledning
- obekant
- URL
- användning
- Användare
- Användarupplevelse
- användare
- verktyg
- olika
- ljus
- version
- via
- Video
- synlighet
- W3
- plånbok
- sätt
- Web3
- webp
- som
- medan
- VEM
- bred
- Brett utbud
- kommer
- värt
- skriva
- skrivning
- Om er
- Din
- själv
- zephyrnet