Tutto quello che devi sapere sulla creazione di NFT su Velas
La creazione di NFT su Velas può offrire ai team vari vantaggi. Questi includono lo sfruttamento di contratti intelligenti compatibili con Ethereum, la possibilità di godere di una velocità di transazione fulminea, l'assenza di commissioni elevate sul gas e altro ancora.
Contenuto:
Introduzione
NFT è una tecnologia rivoluzionaria che può avvantaggiare gli utenti in vari modi. Ad esempio, garantisce agli utenti la prova della proprietà delle proprie risorse digitali come mai prima d’ora. Inoltre, gli NFT possono portare a un’economia dei creatori completamente nuova.
Con tutti i vantaggi offerti dagli NFT, tutti parlano di potenziare i propri progetti con gli NFT. Ma sai come sviluppare contratti intelligenti supportati da NFT? In caso contrario, non preoccuparti, perché questo articolo ti guiderà attraverso tutte le fasi della creazione di contratti intelligenti NFT su Velas Testnet.
Tieni presente che questo tutorial ti mostrerà come creare un NFT uno-a-uno anziché una raccolta. Quindi questo contratto intelligente consentirà agli utenti di coniare qualsiasi foto o video come NFT.
Perché Velas
Esistono molti protocolli blockchain disponibili. Ma gli sviluppatori devono ancora affrontare problemi quando li utilizzano. Ad esempio, Ethereum deve far fronte alle elevate tariffe del gas e alla lentezza dell’elaborazione delle transazioni, mentre altre blockchain richiedono agli sviluppatori di utilizzare linguaggi non familiari come Rust.
Con Velas, la maggior parte di queste preoccupazioni non esistono. La soluzione di Velas eredita il miglior DNA della tecnologia Solana e lo integra con funzionalità aggiuntive per supportare la compatibilità con EVM. Ciò offre a utenti e sviluppatori una piattaforma ideale che garantisce un'esperienza utente eccellente con tempi di transazione più rapidi. Inoltre, semplifica il processo di sviluppo con il supporto di Solidity.
Prerequisiti
Per proseguire, dovresti avere Node plus Yarn, il gestore dei pacchetti. Inoltre, dovresti avere una conoscenza di base di Solidity. Quindi, se non lo conosci, equipaggiati con le basi di Solidity e Prima l'elmetto protettivo.
Impostare
Per impostare il nostro progetto, esegui il seguente comando nel terminale.
npx hardhat
Vedrai il seguente output se non hai installato Hardhat.
Tipologia y e fare clic su entraree si procederà all'installazione dell'Hard Hat. Tuttavia, se hai già Hardhat, non ti verrà mostrato il prompt per l'installazione di Hardhat. Verranno invece poste alcune domande su come si desidera impostare il progetto.
Vogliamo un progetto Javascript di base nella nostra cartella corrente, quindi basta fare clic entrare per tutto.
Quindi dobbiamo installare le nostre dipendenze per il progetto. Per installarli, utilizzeremo il seguente comando.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Poiché utilizziamo Yarn, dobbiamo installare le librerie utilizzate da 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
Se utilizzi la versione 7 di npm o versioni successive, queste librerie verranno installate direttamente.
Vale la pena notare che dobbiamo fare un ulteriore passo prima di scrivere un contratto intelligente. Cioè rimuoverne qualcuno .sole file che vedi nella cartella dei contratti e crea un nuovo file chiamato VELASNFT.sol. Questa è la cartella dove scriveremo il nostro contratto.
Come scrivere uno smart contract NFT
Costruttore
Per cominciare, creeremo uno smart contract barebone in cui definiamo la versione di solidità e creeremo un corpo di smart contract vuoto.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Dobbiamo importare uno smart contract di base e uno smart contract di utilità. In particolare, questi sono i contratti che verranno utilizzati per costruire il nostro contratto intelligente NFT. Il contratto base è ERC721URIStorage, un'implementazione ERC721 con gestione URI token basata sull'archiviazione.
Counters è un contratto di utilità che verrà utilizzato per contare il numero di NFT coniati.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Il nostro contratto erediterà il contratto base. Ciò consentirà agli utenti di accedere a tutte le funzionalità del contratto base e dei nostri contratti intelligenti.
contract VELASNFT is ERC721URIStorage { }
Ora possiamo scrivere il costruttore per il nostro contratto. In particolare, il nostro costruttore non avrà argomenti, ma dovrai passare il nome e il simbolo al costruttore ERC721.
constructor() ERC721("VELASNFT", "VN") {}
Alla fine di questo passaggio, il tuo contratto intelligente dovrebbe assomigliare a questo.
//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") {} }
Scrivere la funzione mint
Per la funzione conio, dobbiamo prima impostare il contatore. Incolla il seguente snippet all'interno del contratto sopra il costruttore.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
assegniamo tutte le funzioni della libreria Counters alla struttura Counter. Quindi creeremo una variabile privata chiamata _tokenId.
Ora iniziamo a sviluppare la funzione. Ci vorrà un argomento: tokenURIe sarà l'URL del file json che memorizza tutti i metadati. Approfondiremo i metadati nelle sezioni seguenti. La funzione mint avrà visibilità pubblica e restituirà l'ID dell'NFT coniato, che sarà di tipo uint256.
function mint(string memory tokenURI) public returns (uint256) { }
All'interno della funzione, otterremo prima il conteggio corrente del contatore.
Per coniare un NFT, useremo _menta funzione che accetta indirizzo e ID come argomenti. Per l'indirizzo utilizzeremo l'indirizzo del chiamante e l'ID sarà il conteggio corrente. Dopodiché dobbiamo salvare il file tokenURI.
Per farlo, dobbiamo farlo _setTokenURI, che salverà l'URI con l'ID corrispondente come chiave. Alla fine, incrementeremo il contatore e quindi l'ID dell'NFT creato.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Congratulazioni! Ora il tuo contratto intelligente può coniare NFT! Ecco la panoramica dell'intero contratto.
//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; }
}
Come implementare il contratto
Abbiamo costruito il nostro contratto intelligente NFT. Ecco il passo entusiasmante: l'implementazione. Ma prima di implementare il contratto, dobbiamo compilarlo e scrivere uno script che lo implementi. Per compilare il contratto, eseguire il seguente comando nel terminale.
npx hardhat compile
Vedrai il seguente output.
Passiamo ora alla fase successiva, scrivendo uno script per l'implementazione di questo contratto intelligente. Per fare ciò, andremo nella cartella degli script e apriremo il file deploy.js. Quindi, rimuovi tutto il contenuto e incolla il seguente snippet in quel file.
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);
});
Prima di implementare il contratto, dobbiamo aggiungere i dettagli sul testnet di Velas al file hardhat.config.js. Apri il file e aggiungi la configurazione testnet di Velas.
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] } }
};
Vale anche la pena ricordare che prima di implementare il contratto, devi aggiungere le chiavi private per il tuo portafoglio al file .env e avere alcuni token VLX testnet nel portafoglio. Puoi ottenere token testnet da qui.
Ora che abbiamo impostato tutto, esegui il seguente comando nel terminale.
npx hardhat run scripts/deploy.js --network velastestnet
Se il comando viene eseguito correttamente, vedrai un output simile a quello mostrato di seguito nel tuo terminale.
Conia l'NFT
Una volta implementato il contratto intelligente, possiamo coniare l'NFT dal terminale. Per fare ciò, avvia prima la console dell'elmetto utilizzando il seguente comando.
npx hardhat console --network velastestnet
L'output è mostrato di seguito.
Quindi creeremo la variabile del contratto chiamata “velasnft”. getContrattoAt Il metodo restituirà l'oggetto del contratto.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Fare riferimento all'output mostrato di seguito.
Per coniare l'NFT, utilizzeremo il metodo mint del velasnft variabile. Dobbiamo anche passare il collegamento per i metadati al metodo. Puoi leggere ulteriori informazioni sugli standard dei metadati QUI.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Controlla l'output di seguito.
Ora è il momento di verificare il proprietario dell'NFT. Dal momento che abbiamo coniato utilizzando il file proprietario di metodo, ora passiamo l'indice dell'NFT che abbiamo coniato.
await velasnft.ownerOf(0)
È così che otteniamo il risultato del proprietario NFT.
Conclusione
Nell'articolo abbiamo imparato come scrivere uno smart contract NFT che consenta agli utenti di coniare NFT. Inoltre, siamo riusciti a implementarlo sul testnet Velas. Ora puoi sviluppare nuove applicazioni basate su NFT ed esplorare il dinamico ecosistema Velas.
Puoi anche verificare come creare un DAO su Velas tramite questo collegamento.
Velas vuole dare potere a coloro che lottano per accelerare lo sviluppo del Web3. Pertanto, Velas ha lanciato un programma di sovvenzioni da 100 milioni di dollari per realizzare questa missione. Nel frattempo, questo programma mira anche a sostenere l’espansione dell’ecosistema Velas.
Con il programma di sovvenzioni di Velas, gli sviluppatori possono dare vita alle loro idee entusiasmanti in modo più efficiente. Ogni progetto ha l’opportunità di ricevere fino a 100,000 dollari in finanziamenti. Inoltre, i team selezionati avranno accesso ad altre risorse per favorire lo sviluppo dei loro progetti, tra cui marketing, consulenti tecnici e altro ancora.
Il programma di sovvenzione copre una vasta gamma di categorie, inclusi ma non limitati a DeFi, NFT, giochi basati su blockchain e altro ancora.
Se sei interessato ad accelerare l’adozione di massa delle criptovalute e della blockchain, fai domanda ora per entrare a far parte dell'ecosistema in continua evoluzione di Velas.
Scopri di più su Velas:
Negazione di responsabilità — Questo è un articolo sponsorizzato. DappRadar non approva alcun contenuto o prodotto in questa pagina. DappRadar mira a fornire informazioni accurate, ma i lettori dovrebbero sempre fare le proprie ricerche prima di agire. Gli articoli di DappRadar non possono essere considerati consigli di investimento.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. Accedi qui.
- Fonte: https://dappradar.com/blog/how-to-create-nft-on-velas
- $100 milioni
- 000
- 1
- 10
- 7
- 9
- a
- WRI
- sopra
- accelerando
- accesso
- conti
- preciso
- Action
- aggiunta
- aggiuntivo
- indirizzo
- Adozione
- consigli
- Dopo shavasana, sedersi in silenzio; saluti;
- mira
- Tutti
- consente
- già
- sempre
- ed
- applicazioni
- argomento
- argomenti
- articolo
- news
- Attività
- disponibile
- attendere
- base
- basic
- Nozioni di base
- perché
- prima
- essendo
- sotto
- beneficio
- vantaggi
- MIGLIORE
- blockchain
- blockchain-alimentato
- blockchains
- stile di vita
- portare
- costruire
- costruito
- detto
- visitatore
- Può ottenere
- categoria
- dai un'occhiata
- collezione
- compatibilità
- compatibile
- preoccupazioni
- conclusione
- Configurazione
- considerato
- consolle
- consulenti
- contenuto
- contratto
- contratti
- Corrispondente
- contatore
- contatori
- Copertine
- creare
- creato
- Creazione
- Creatore
- Economia del creatore
- cryptocurrencies
- Corrente
- DAO
- DappRadar
- dati
- DeFi
- schierare
- schierato
- distribuzione
- deployment
- Distribuisce
- dettagli
- sviluppare
- sviluppatori
- Mercato
- digitale
- Risorse digitali
- direttamente
- dna
- Dont
- dinamico
- ogni
- economia
- ecosistema
- in modo efficiente
- e potenza
- che abilita
- enable
- approvare
- interamente
- ERC721
- errore
- Ethereum
- tutti
- qualunque cosa
- esempio
- eccellente
- coinvolgenti
- eseguire
- espansione
- esperienza
- esplora
- le esportazioni
- Faccia
- familiare
- FAST
- più veloce
- Caratteristiche
- Costi
- Compila il
- File
- Nome
- seguire
- i seguenti
- Favorire
- Gratis
- da
- function
- funzioni
- finanziamento
- Giochi
- GAS
- tasse sul gas
- ottenere
- Dare
- dà
- Go
- concedere
- borse di studio
- garanzie
- qui
- Alta
- Come
- Tutorial
- Tuttavia
- HTTPS
- ideale
- idee
- implementazione
- importare
- in
- includere
- Compreso
- Index
- informazioni
- install
- invece
- interessato
- Introduzione
- investimento
- sicurezza
- IT
- JavaScript
- join
- json
- Le
- Tasti
- Sapere
- conoscenze
- Le Lingue
- lanciato
- portare
- imparato
- leveraging
- biblioteche
- Biblioteca
- Vita
- Limitato
- LINK
- Guarda
- una
- Principale
- gestito
- gestione
- direttore
- molti
- Marketing
- Massa
- Adozione di massa
- max-width
- Nel frattempo
- medie
- Memorie
- Metadati
- metodo
- milione
- menta
- coniate
- Missione
- CON
- Moduli
- Scopri di più
- maggior parte
- cambiano
- Nome
- Bisogno
- reti
- New
- GENERAZIONE
- NFT
- Contratti intelligenti NFT
- NFTs
- nodo
- segnatamente
- numero
- oggetto
- ONE
- aprire
- OpenSea
- Opportunità
- Altro
- panoramica
- proprio
- proprietario
- proprietà
- pacchetto
- vantaggi
- piattaforma
- Platone
- Platone Data Intelligence
- PlatoneDati
- per favore
- più
- prerequisiti
- presentazione
- un bagno
- Chiavi private
- processi
- lavorazione
- Prodotto
- Programma
- progetto
- progetti
- prova
- protetta
- protocolli
- fornire
- la percezione
- Domande
- gamma
- Leggi
- lettori
- ricevere
- rimuovere
- richiedere
- riparazioni
- Risorse
- colpevole
- ritorno
- problemi
- rivoluzionario
- Correre
- Ruggine
- Risparmi
- script
- sezioni
- selezionato
- set
- flessibile.
- dovrebbero
- mostrare attraverso le sue creazioni
- mostrato
- simile
- da
- rallentare
- smart
- smart contract
- Smart Contract
- So
- SOL
- solidità
- soluzione
- alcuni
- velocità
- Sponsored
- Stage
- standard
- inizia a
- step
- Passi
- Ancora
- negozi
- lottare
- Lotte
- Con successo
- supporto
- simbolo
- Fai
- prende
- presa
- parlando
- le squadre
- Consulenza
- Tecnologia
- terminal
- testnet
- Il
- Le nozioni di base
- loro
- Là.
- perciò
- cose
- Attraverso
- tempo
- a
- token
- Tokens
- delle transazioni
- velocità di transazione
- vero
- lezione
- sconosciuto
- URL
- uso
- Utente
- Esperienza da Utente
- utenti
- utilità
- vario
- Velas
- versione
- via
- Video
- visibilità
- W3
- Portafoglio
- modi
- Web3
- WebP
- quale
- while
- OMS
- largo
- Vasta gamma
- volere
- valore
- scrivere
- scrittura
- Tu
- Trasferimento da aeroporto a Sharm
- te stesso
- zefiro