Tot ce trebuie să știți despre crearea NFT-urilor pe Velas
Crearea NFT-urilor pe Velas poate oferi echipelor diverse beneficii. Printre acestea se numără folosirea contractelor inteligente care sunt compatibile cu Ethereum, bucurându-se de o viteză de tranzacție uşoară, fără taxe mari de gaz și multe altele.
Conţinut:
Introducere
NFT este o tehnologie revoluționară care poate beneficia utilizatorii în diferite moduri. De exemplu, oferă utilizatorilor dovada de proprietate asupra activelor lor digitale, ca niciodată înainte. Mai mult, NFT-urile pot duce la o economie a creatorilor cu totul nouă.
Cu toate avantajele pe care le oferă NFT-urile, toată lumea vorbește despre împuternicirea proiectelor lor cu NFT. Dar știți cum să dezvoltați contracte inteligente acceptate de NFT? Nu vă faceți griji dacă nu, deoarece acest articol vă va ghida prin toți pașii creării de contracte inteligente NFT pe Velas Testnet.
Vă rugăm să fiți conștienți de faptul că acest tutorial vă va arăta cum să creați un NFT one-of-one în loc de o colecție. Prin urmare, acest contract inteligent va permite utilizatorilor să bată oricare dintre fotografiile sau videoclipurile lor ca NFT.
De ce Velas?
Există multe protocoale blockchain disponibile acolo. Dar dezvoltatorii încă se confruntă cu probleme atunci când le folosesc. De exemplu, Ethereum se luptă cu taxele mari de gaz și procesarea lentă a tranzacțiilor, în timp ce alte blockchain-uri impun dezvoltatorilor să folosească limbi necunoscute precum Rust.
cu lumânări, majoritatea acestor preocupări nu există. Soluția Velas moștenește cel mai bun ADN al tehnologiei Solana și îl completează cu caracteristici suplimentare pentru a sprijini compatibilitatea cu EVM. Acest lucru oferă utilizatorilor și dezvoltatorilor o platformă ideală care garantează o experiență excelentă pentru utilizator cu timp de tranzacție mai rapid. Mai mult, simplifică procesul de dezvoltare cu suport Solidity.
Cerințe preliminare
Pentru a urma, ar trebui să aveți Node plus Yarn, managerul de pachete. De asemenea, ar trebui să aveți cunoștințe de bază despre Solidity. Deci, dacă nu sunteți familiarizat cu el, vă rugăm să vă echipați cu elementele de bază ale Solidity și În primul rând cască.
Configurarea
Pentru a configura proiectul nostru, executați următoarea comandă în terminal.
npx hardhat
Veți vedea următoarea ieșire dacă nu aveți Hardhat instalat.
Tip y și faceți clic introduce, și va continua la instalarea Hardhat-ului. Cu toate acestea, dacă aveți deja Hardhat, acesta nu vă va afișa solicitarea de instalare Hardhat. În schimb, va pune câteva întrebări despre cum doriți să configurați proiectul.
Vrem un proiect Javascript de bază în folderul nostru actual, așa că faceți clic introduce pentru tot.
Apoi trebuie să ne instalăm dependențele pentru proiect. Pentru a le instala, vom folosi următoarea comandă.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Pe măsură ce folosim Yarn, trebuie să instalăm bibliotecile pe care le folosește 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
Dacă utilizați versiunea npm 7 sau versiuni ulterioare, aceste biblioteci vor fi instalate direct.
Este demn de remarcat faptul că trebuie să mai facem un pas înainte de a scrie un contract inteligent. Adică să elimini orice .sol fișierele pe care le vedeți în folderul contracte și creați un fișier nou numit VELASNFT.sol. Acesta este folderul în care ne vom scrie contractul.
Cum se scrie un contract inteligent NFT
Constructor
Pentru început, vom crea un contract inteligent barebone în care definim versiunea de soliditate și vom crea un corp de contract inteligent gol.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Trebuie să importam un contract inteligent de bază și un contract inteligent de utilități. În special, acestea sunt contractele pe care le vor folosi pentru a construi contractul nostru inteligent NFT. Contractul de bază este ERC721URIStocare, o implementare ERC721 cu management URI bazat pe stocare.
Contoare este un contract de utilități care va fi folosit pentru a număra numărul de NFT-uri bătute.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Contractul nostru va moșteni contractul de bază. Acest lucru va permite utilizatorilor să acceseze toate funcțiile contractului de bază și ale contractelor noastre inteligente.
contract VELASNFT is ERC721URIStorage { }
Acum putem scrie constructor pentru contractul nostru. În special, constructorul nostru nu va avea niciun argument, dar trebuie să transmiteți numele și simbolul constructorului ERC721.
constructor() ERC721("VELASNFT", "VN") {}
La sfârșitul acestui pas, contractul tău inteligent ar trebui să arate așa.
//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") {} }
Scrierea funcției de mentă
Pentru funcția de mentă, trebuie să setăm mai întâi contorul. Lipiți următorul fragment în contractul de deasupra constructorului.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
atribuim toate funcțiile bibliotecii Counters structurii Counter. Apoi vom crea o variabilă privată numită _tokenIds.
Acum să începem să dezvoltăm funcția. Va fi nevoie de un singur argument: tokenURIși va fi adresa URL a fișierului json care stochează toate metadatele. Vom aborda mai multe metadate în secțiunile următoare. Funcția mint va avea vizibilitate publică și va returna ID-ul NFT-ului batut, care va fi de tip uint256.
function mint(string memory tokenURI) public returns (uint256) { }
În interiorul funcției, vom obține mai întâi numărul curent al contorului.
Pentru a bate un NFT, vom folosi _mentă funcție care ia adresa și ID-ul drept argumente. Pentru adresă, vom folosi adresa apelantului, iar ID-ul va fi numărul curent. După aceea, trebuie să salvăm tokenURI.
Pentru a face asta, trebuie _setTokenURI, care va salva URI cu ID-ul corespunzător ca cheie. În final, vom incrementa contorul și apoi ID-ul NFT-ului creat.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Felicitări! Acum, contractul tău inteligent poate bate NFT-uri! Iată o prezentare generală a întregului 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; }
}
Cum se implementează contractul
Am construit contractul nostru inteligent NFT. Aici vine pasul interesant, implementarea. Dar înainte de a implementa contractul, trebuie să-l compilam și să scriem un script care să implementeze contractul. Pentru a compila contractul, rulați următoarea comandă în terminal.
npx hardhat compile
Veți vedea următoarea ieșire.
Acum să trecem la următoarea etapă, scriind un script pentru implementarea acestui contract inteligent. Pentru a face acest lucru, vom merge în folderul scripturi și vom deschide fișierul deploy.js. Apoi, eliminați tot conținutul și inserați următorul fragment în acel fișier.
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);
});
Înainte de a implementa contractul, trebuie să adăugăm detalii despre Velas testnet în fișierul hardhat.config.js. Deschideți fișierul și adăugați configurația 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] } }
};
De asemenea, merită menționat faptul că, înainte de implementarea contractului, trebuie să adăugați chei private pentru portofel în fișierul .env și să aveți un token VLX testnet în portofel. Puteți obține jetoane testnet de la aici.
Acum că avem toate lucrurile configurate, rulați următoarea comandă în terminal.
npx hardhat run scripts/deploy.js --network velastestnet
Dacă comanda este executată cu succes, veți vedea rezultatul similar cu cel prezentat mai jos în terminalul dvs.
Mint NFT
Pe măsură ce contractul inteligent este implementat, putem bate NFT de la terminal. Pentru a face asta, mai întâi porniți consola hardhat folosind următoarea comandă.
npx hardhat console --network velastestnet
Ieșirile sunt afișate mai jos.
Apoi vom crea variabila contract numită „velasnft”. getContractAt metoda va returna obiectul contractului.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Vă rugăm să consultați rezultatul prezentat mai jos.
Pentru a bate NFT, vom folosi metoda monetării a velasnft variabil. De asemenea, trebuie să transmitem metodei linkul pentru metadate. Puteți citi mai multe despre standardele de metadate AICI.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Consultați rezultatul de mai jos.
Acum este timpul să verificați proprietarul NFT-ului. Din moment ce am bătut folosind proprietarOf metoda, acum să trecem indicele NFT-ului pe care l-am bătut.
await velasnft.ownerOf(0)
Așa obținem rezultatul proprietarului NFT.
Concluzie
În articol, am învățat cum să scriem un contract inteligent NFT care le permite utilizatorilor să bată NFT. În plus, am reușit să-l implementăm pe Velas testnet. Acum, puteți dezvolta noi aplicații bazate pe NFT și puteți explora ecosistemul dinamic Velas.
De asemenea, puteți vedea cum să construiți un DAO pe Velas prin acest link.
Velas vrea să-i împuternicească pe cei care se străduiesc să accelereze dezvoltarea Web3. Prin urmare, Velas a lansat un program de granturi de 100 de milioane de dolari pentru a îndeplini această misiune. Între timp, acest program își propune și să sprijine extinderea ecosistemului Velas.
Cu programul de granturi al lui Velas, dezvoltatorii își pot aduce ideile captivante la viață mai eficient. Fiecare proiect are posibilitatea de a primi până la 100,000 USD în finanțare. În plus, echipele selectate vor avea acces la alte resurse pentru a stimula dezvoltarea proiectelor lor, inclusiv marketing, consultanți tehnici și multe altele.
Programul de granturi acoperă o gamă largă de categorii, inclusiv, dar fără a se limita la DeFi, NFT, jocuri bazate pe blockchain și multe altele.
Dacă sunteți interesat să accelerați adoptarea în masă a criptomonedelor și a blockchain-ului, aplica acum pentru a te alătura ecosistemului în continuă evoluție al lui Velas.
Aflați mai multe despre Velas:
Declinare a responsabilităţii — Acesta este un articol sponsorizat. DappRadar nu susține niciun conținut sau produs de pe această pagină. DappRadar își propune să ofere informații exacte, dar cititorii ar trebui să facă întotdeauna propriile cercetări înainte de a lua măsuri. Articolele DappRadar nu pot fi considerate sfaturi de investiții.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 de milioane de
- 000
- 1
- 10
- 7
- 9
- a
- Despre Noi
- mai sus
- accelerarea
- acces
- Conturi
- precis
- Acțiune
- plus
- Suplimentar
- adresa
- Adoptare
- sfat
- După
- isi propune
- TOATE
- permite
- deja
- mereu
- și
- aplicatii
- argument
- argumente
- articol
- bunuri
- Bunuri
- disponibil
- astept
- de bază
- de bază
- Noțiuni de bază
- deoarece
- înainte
- fiind
- de mai jos
- beneficia
- Beneficiile
- CEL MAI BUN
- blockchain
- blockchain-alimentat
- blockchains
- corp
- aduce
- construi
- construit
- denumit
- apelant
- Poate obține
- categorii
- verifica
- colectare
- compatibilitate
- compatibil
- preocupările
- concluzie
- Configuraţie
- luate în considerare
- Consoleze
- Consultantii
- conţinut
- contract
- contracte
- Corespunzător
- Contracara
- contoare
- Covers
- crea
- a creat
- Crearea
- creator
- Economia creatorilor
- cryptocurrencies
- Curent
- DAO
- dappradar
- de date
- DEFI
- implementa
- dislocate
- Implementarea
- desfășurarea
- implementează
- detalii
- dezvolta
- Dezvoltatorii
- Dezvoltare
- digital
- Active digitale
- direct
- ADN-ul
- Dont
- dinamic
- fiecare
- economie
- ecosistem
- eficient
- împuternici
- împuternicirea
- permite
- aprobat
- în întregime
- ERC721
- eroare
- ethereum
- toată lumea
- tot
- exemplu
- excelent
- captivant
- a executa
- expansiune
- experienţă
- explora
- exporturile
- Față
- familiar
- FAST
- mai repede
- DESCRIERE
- Taxe
- Fișier
- Fişiere
- First
- urma
- următor
- Foster
- Gratuit
- din
- funcţie
- funcții
- de finanțare
- Jocuri
- GAS
- comisioane pentru gaz
- obține
- Da
- oferă
- Go
- acordarea
- subvenții
- garanții
- aici
- Înalt
- Cum
- Cum Pentru a
- Totuși
- HTTPS
- ideal
- idei
- implementarea
- import
- in
- include
- Inclusiv
- index
- informații
- instala
- in schimb
- interesat
- Introducere
- investiţie
- probleme de
- IT
- JavaScript
- alătura
- JSON
- Cheie
- chei
- Cunoaște
- cunoştinţe
- Limbă
- a lansat
- conduce
- învățat
- efectului de pârghie
- biblioteci
- Bibliotecă
- Viaţă
- Limitat
- LINK
- Uite
- arată ca
- Principal
- gestionate
- administrare
- manager
- multe
- Marketing
- Masa
- Adopție în masă
- max-width
- Între timp
- mediu
- Memorie
- Metadata
- metodă
- milion
- mentă
- Minted
- Misiune
- MIT
- Module
- mai mult
- cele mai multe
- muta
- nume
- Nevoie
- rețele
- Nou
- următor
- NFT
- Contracte inteligente NFT
- NFT-uri
- nod
- în special
- număr
- obiect
- ONE
- deschide
- Opensea
- Oportunitate
- Altele
- Prezentare generală
- propriu
- proprietar
- proprietate
- pachet
- avantaje
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- "vă rog"
- la care se adauga
- premise
- prezentare
- privat
- Cheile private
- proces
- prelucrare
- Produs
- Program
- proiect
- Proiecte
- dovadă
- protejat
- protocoale
- furniza
- public
- Întrebări
- gamă
- Citeste
- cititori
- a primi
- scoate
- necesita
- cercetare
- Resurse
- rezultat
- reveni
- Returnează
- revoluționar
- Alerga
- Rugină
- Economisiți
- script-uri
- secțiuni
- selectate
- set
- configurarea
- să
- Arăta
- indicat
- asemănător
- întrucât
- încetini
- inteligent
- contract inteligent
- Contracte inteligente
- So
- SOL
- soliditate
- soluţie
- unele
- viteză
- Sponsorizat
- Etapă
- standarde
- Începe
- Pas
- paşi
- Încă
- magazine
- lupta
- luptele
- Reușit
- a sustine
- simbol
- Lua
- ia
- luare
- vorbesc
- echipe
- Tehnic
- Tehnologia
- Terminal
- testnet
- Noțiuni de bază
- lor
- Acolo.
- prin urmare
- lucruri
- Prin
- timp
- la
- semn
- indicativele
- tranzacție
- viteza tranzactiei
- adevărat
- tutorial
- necunoscut
- URL-ul
- utilizare
- Utilizator
- Experiența de utilizare
- utilizatorii
- utilitate
- diverse
- lumânări
- versiune
- de
- Video
- vizibilitate
- W3
- Portofel
- modalități de
- Web3
- WebP
- care
- în timp ce
- OMS
- larg
- Gamă largă
- voi
- valoare
- scrie
- scris
- Tu
- Ta
- te
- zephyrnet