Vse, kar morate vedeti o ustvarjanju NFT-jev na Velasu
Ustvarjanje NFT-jev na Velasu lahko ekipam prinese različne prednosti. Ti vključujejo izkoriščanje pametnih pogodb, ki so združljive z Ethereumom, uživanje v izjemno hitri transakcijski hitrosti, brez visokih provizij za plin in več.
Vsebina:
Predstavitev
NFT je revolucionarna tehnologija, ki lahko uporabnikom koristi na različne načine. Uporabnikom na primer podeljuje dokazila o lastništvu nad njihovimi digitalnimi sredstvi kot še nikoli doslej. Poleg tega lahko NFT vodijo do popolnoma nove ustvarjalne ekonomije.
Z vsemi ugodnostmi, ki jih prinašajo NFT, vsi govorijo o krepitvi moči svojih projektov z NFT. Toda ali veste, kako razviti pametne pogodbe, ki jih podpira NFT? Ne skrbite, če ne, saj vas bo ta članek vodil skozi vse korake ustvarjanja pametnih pogodb NFT na Velas Testnetu.
Upoštevajte, da vam bo ta vadnica pokazala, kako namesto zbirke ustvarite NFT enega od enega. Tako bo ta pametna pogodba uporabnikom omogočila kovanje katere koli svoje fotografije ali videoposnetka kot NFT.
Zakaj Velas?
Na voljo je veliko protokolov blockchain. Toda razvijalci se pri njihovi uporabi še vedno soočajo s težavami. Na primer, Ethereum se spopada z visokimi pristojbinami za plin in počasno obdelavo transakcij, medtem ko druge verige blokov od razvijalcev zahtevajo uporabo neznanih jezikov, kot je Rust.
z Sveče, večina teh skrbi ne obstaja. Velasova rešitev podeduje najboljši DNK Solanine tehnologije in jo dopolnjuje z dodatnimi funkcijami za podporo združljivosti z EVM. To daje uporabnikom in razvijalcem idealno platformo, ki zagotavlja odlično uporabniško izkušnjo s hitrejšim časom transakcij. Poleg tega poenostavlja razvojni proces s podporo za Solidity.
Predpogoji
Če želite slediti, bi morali imeti Node plus Yarn, upravitelja paketov. Imeti morate tudi osnovno znanje o Solidity. Torej, če tega ne poznate, se opremite z osnovami Solidity in Najprej hardhat.
Setup
Za nastavitev našega projekta izvedite naslednji ukaz v terminalu.
npx hardhat
Če nimate nameščenega Hardhata, boste videli naslednje.
tip y in kliknite vpišite, in nadaljeval bo z namestitvijo Hardhata. Vendar, če že imate Hardhat, vam ne bo prikazal poziva za namestitev Hardhat. Namesto tega bo postavil nekaj vprašanj o tem, kako želite nastaviti projekt.
V naši trenutni mapi želimo osnovni projekt Javascript, zato samo kliknite vpišite za vse.
Nato moramo namestiti svoje odvisnosti za projekt. Za njihovo namestitev bomo uporabili naslednji ukaz.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Ker uporabljamo Yarn, moramo namestiti knjižnice, ki jih uporablja hardhat-toolbox.
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
Če uporabljate npm različice 7 ali novejše različice, bodo te knjižnice nameščene neposredno.
Omeniti velja, da moramo narediti še en korak, preden napišemo pametno pogodbo. To je odstraniti kakršno koli .sol datoteke, ki jih vidite v mapi pogodb, in ustvarite novo datoteko z imenom VELASNFT.sol. To je mapa, v katero bomo napisali našo pogodbo.
Kako napisati pametno pogodbo NFT
Konstruktor
Za začetek bomo ustvarili barebone pametno pogodbo, kjer bomo definirali trdnostno različico in ustvarili prazno telo pametne pogodbe.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Uvoziti moramo osnovno pametno pogodbo in pametno pogodbo za komunalne storitve. Predvsem to so pogodbe, ki bodo uporabljene za izdelavo naše pametne pogodbe NFT. Osnovna pogodba je ERC721URIShramba, implementacija ERC721 z upravljanjem URI žetonov na podlagi shrambe.
Counters je pogodba o pripomočkih, ki se bo uporabljala za štetje števila kovanih NFT-jev.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Naša pogodba bo podedovala osnovno pogodbo. To bo uporabnikom omogočilo dostop do vseh funkcij osnovne pogodbe in naših pametnih pogodb.
contract VELASNFT is ERC721URIStorage { }
Zdaj lahko napišemo konstruktor za našo pogodbo. Predvsem naš konstruktor ne bo imel nobenih argumentov, vendar morate ime in simbol posredovati konstruktorju ERC721.
constructor() ERC721("VELASNFT", "VN") {}
Na koncu tega koraka bi morala vaša pametna pogodba izgledati takole.
//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") {} }
Pisanje funkcije mint
Za funkcijo kovnice moramo najprej nastaviti števec. Prilepite naslednji delček znotraj pogodbe nad konstruktorjem.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
strukturi Counter dodelimo vse funkcije knjižnice Counters. Nato bomo ustvarili zasebno spremenljivko, imenovano _tokenIds.
Zdaj pa začnimo razvijati funkcijo. Potreben bo en argument: tokenURI, in to bo url do datoteke json, ki shranjuje vse metapodatke. Več o metapodatkih bomo spoznali v naslednjih razdelkih. Funkcija mint bo javno vidna in bo vrnila ID kovanega NFT, ki bo tipa uint256.
function mint(string memory tokenURI) public returns (uint256) { }
Znotraj funkcije bomo najprej dobili trenutno štetje števca.
Za kovanje NFT bomo uporabili _mint funkcija, ki vzame naslov in ID kot argumenta. Za naslov bomo uporabili naslov klicatelja, ID pa bo trenutno število. Po tem moramo shraniti tokenURI.
Da bi to naredili, moramo _setTokenURI, ki bo shranil URI z ustreznim ID-jem kot ključ. Na koncu bomo povečali števec in nato ID ustvarjenega NFT.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
čestitke! Zdaj lahko vaša pametna pogodba kuje NFT-je! Tukaj je pregled celotne pogodbe.
//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; }
}
Kako razporediti pogodbo
Zgradili smo svojo pametno pogodbo NFT. Prihaja razburljiv korak, uvajanje. Toda preden razmestimo pogodbo, jo moramo prevesti in napisati skript, ki razmesti pogodbo. Za prevajanje pogodbe zaženite naslednji ukaz v terminalu.
npx hardhat compile
Videli boste naslednji rezultat.
Zdaj pa preidimo na naslednjo stopnjo, pisanje skripta za uvedbo te pametne pogodbe. To storimo tako, da gremo v mapo s skripti in odpremo datoteko deploy.js. Nato odstranite vso vsebino in prilepite naslednji delček v to datoteko.
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);
});
Pred uvedbo pogodbe moramo v datoteko hardhat.config.js dodati podrobnosti o testnem omrežju Velas. Odprite datoteko in dodajte konfiguracijo Velas testnet.
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] } }
};
Prav tako je treba omeniti, da morate pred uvedbo pogodbe dodati zasebne ključe za svojo denarnico v datoteko .env in imeti v denarnici nekaj žetonov testne mreže VLX. Žetone testne mreže lahko dobite pri tukaj.
Zdaj, ko imamo vse nastavljene, zaženite naslednji ukaz v terminalu.
npx hardhat run scripts/deploy.js --network velastestnet
Če je ukaz uspešno izveden, boste v terminalu videli izhod, podoben spodnjemu.
Kovati NFT
Ko je pametna pogodba uvedena, lahko kovujemo NFT iz terminala. Če želite to narediti, najprej zaženite konzolo hardhat z naslednjim ukazom.
npx hardhat console --network velastestnet
Izhod je prikazan spodaj.
Nato bomo ustvarili pogodbeno spremenljivko, imenovano “velasnft”. getContractAt metoda bo vrnila predmet pogodbe.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Oglejte si izhod, prikazan spodaj.
Za kovanje NFT bomo uporabili metodo kovanja velasnft spremenljivka. Prav tako moramo posredovati povezavo za metapodatke do metode. Preberete lahko več o standardih metapodatkov TUKAJ.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Oglejte si izpis spodaj.
Zdaj je čas, da preverite lastnika NFT. Ker smo kovali z uporabo lastnikOf metodo, zdaj posredujmo indeks NFT, ki smo ga kovali.
await velasnft.ownerOf(0)
Tako dobimo rezultat lastnika NFT.
zaključek
V članku smo se naučili, kako napisati pametno pogodbo NFT, ki uporabnikom omogoča kovanje NFT-jev. Poleg tega nam ga je uspelo namestiti na Velas testnet. Zdaj lahko razvijate nove aplikacije, ki jih poganja NFT, in raziskujete dinamičen ekosistem Velas.
Na tej povezavi lahko preverite tudi, kako zgraditi DAO na Velasu.
Velas želi opolnomočiti tiste, ki si prizadevajo pospešiti razvoj Web3. Zato je Velas za izpolnitev te misije uvedel program nepovratnih sredstev v vrednosti 100 milijonov dolarjev. Medtem je cilj tega programa tudi podpreti širitev ekosistema Velas.
Z Velasovim programom nepovratnih sredstev, lahko razvijalci učinkoviteje uresničijo svoje vznemirljive ideje. Vsak projekt ima možnost prejeti do 100,000 $ sredstev. Poleg tega bodo imele izbrane ekipe dostop do drugih virov za spodbujanje razvoja svojih projektov, vključno s trženjem, tehničnimi svetovalci in še več.
Program nepovratnih sredstev pokriva široko paleto kategorij, vključno z, vendar ne omejeno na DeFi, NFT, igrami, ki jih poganja blockchain, in več.
Če vas zanima pospešitev množičnega sprejemanja kriptovalut in blockchaina, prijavite se zdaj in se pridružite Velasovemu nenehno razvijajočemu se ekosistemu.
Več o Velasu:
Zavrnitev odgovornosti — To je sponzoriran članek. DappRadar ne podpira nobene vsebine ali izdelkov na tej strani. DappRadar želi zagotoviti natančne informacije, vendar bi morali bralci vedno opraviti lastno raziskavo, preden ukrepajo. Člankov DappRadarja ni mogoče obravnavati kot naložbene nasvete.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- vir: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 milijonov
- 000
- 1
- 10
- 7
- 9
- a
- O meni
- nad
- pospeševanje
- dostop
- računi
- natančna
- Ukrep
- Poleg tega
- Dodatne
- Naslov
- Sprejetje
- nasveti
- po
- Cilje
- vsi
- omogoča
- že
- vedno
- in
- aplikacije
- Argument
- Argumenti
- članek
- članki
- Sredstva
- Na voljo
- čakati
- baza
- Osnovni
- Osnove
- ker
- pred
- počutje
- spodaj
- koristi
- Prednosti
- BEST
- blockchain
- blockchain
- verige blokov
- telo
- prinašajo
- izgradnjo
- zgrajena
- se imenuje
- klicatelja
- Lahko dobiš
- kategorije
- preveriti
- zbirka
- združljivost
- združljiv
- Skrbi
- Sklenitev
- konfiguracija
- šteje
- Konzole
- Svetovanje
- vsebina
- Naročilo
- pogodbe
- Ustrezno
- Števec
- števci
- Ovitki
- ustvarjajo
- ustvaril
- Ustvarjanje
- kreator
- Ustvarjalno gospodarstvo
- cryptocurrencies
- Trenutna
- DAO
- dappradar
- datum
- Defi
- razporedi
- razporejeni
- uvajanja
- uvajanje
- razpolaga
- Podrobnosti
- Razvoj
- Razvijalci
- Razvoj
- digitalni
- Digitalna sredstva
- neposredno
- DNK
- dont
- dinamično
- vsak
- Gospodarstvo
- ekosistem
- učinkovito
- opolnomočiti
- pooblastitvi
- omogočajo
- potrdi
- popolnoma
- ERC721
- Napaka
- ethereum
- vsi
- vse
- Primer
- odlično
- zanimivo
- izvršiti
- Širitev
- izkušnje
- raziskuje
- Izvoz
- Obraz
- seznanjeni
- FAST
- hitreje
- Lastnosti
- pristojbine
- file
- datoteke
- prva
- sledi
- po
- Spodbujati
- brezplačno
- iz
- funkcija
- funkcije
- Financiranje
- Games
- GAS
- pristojbine za plin
- dobili
- Daj
- daje
- Go
- odobri
- nepovratna sredstva
- jamstva
- tukaj
- visoka
- Kako
- Kako
- Vendar
- HTTPS
- idealen
- Ideje
- Izvajanje
- uvoz
- in
- vključujejo
- Vključno
- Indeks
- Podatki
- namestitev
- Namesto
- zainteresirani
- Predstavitev
- naložbe
- Vprašanja
- IT
- JavaScript
- pridružite
- json
- Ključne
- tipke
- Vedite
- znanje
- jeziki
- začela
- vodi
- naučili
- vzvod
- knjižnice
- Knjižnica
- življenje
- Limited
- LINK
- Poglej
- izgleda kot
- Glavne
- upravlja
- upravljanje
- upravitelj
- več
- Trženje
- Masa
- Množična posvojitev
- max širine
- Medtem
- srednje
- Spomin
- metapodatki
- Metoda
- milijonov
- Mint zelena
- kovane
- Mission
- MIT
- Moduli
- več
- Najbolj
- premikanje
- Ime
- Nimate
- omrežij
- Novo
- Naslednja
- NFT
- Pametne pogodbe NFT
- NFT
- Vozel
- predvsem
- Številka
- predmet
- ONE
- odprite
- OpenSea
- Priložnost
- Ostalo
- pregled
- lastne
- Lastnik
- lastništvo
- paket
- perks
- platforma
- platon
- Platonova podatkovna inteligenca
- PlatoData
- prosim
- plus
- predpogoji
- predstavitev
- zasebna
- Zasebni ključi
- Postopek
- obravnavati
- Izdelek
- Program
- Projekt
- projekti
- dokazilo
- zaščiteni
- protokoli
- zagotavljajo
- javnega
- vprašanja
- območje
- Preberi
- bralci
- prejeti
- odstrani
- zahteva
- Raziskave
- viri
- povzroči
- vrnitev
- vrne
- Revolucionarni
- Run
- Rust
- Shrani
- skripte
- oddelki
- izbran
- nastavite
- nastavitev
- shouldnt
- Prikaži
- pokazale
- Podoben
- saj
- počasi
- pametna
- pametna pogodba
- Pametne pogodbe
- So
- SOL
- trdnost
- Rešitev
- nekaj
- hitrost
- Sponzorirane
- Stage
- standardi
- Začetek
- Korak
- Koraki
- Še vedno
- trgovine
- stremiti
- Borbe
- Uspešno
- podpora
- Simbol
- Bodite
- meni
- ob
- pogovor
- Skupine
- tehnični
- Tehnologija
- terminal
- testne mreže
- O
- Osnove
- njihove
- Tukaj.
- zato
- stvari
- skozi
- čas
- do
- žeton
- Boni
- transakcija
- hitrost transakcije
- Res
- Navodila
- neznan
- URL
- uporaba
- uporabnik
- Uporabniška izkušnja
- Uporabniki
- pripomoček
- različnih
- Sveče
- različica
- preko
- Video posnetki
- vidljivost
- W3
- denarnica
- načini
- Web3
- webp
- ki
- medtem
- WHO
- široka
- Širok spekter
- bo
- vredno
- pisati
- pisanje
- Vi
- Vaša rutina za
- sami
- zefirnet