Tudo o que você precisa saber sobre a criação de NFTs no Velas
A criação de NFTs no Velas pode trazer vários benefícios às equipes. Isso inclui aproveitar contratos inteligentes compatíveis com Ethereum, desfrutar de uma velocidade de transação extremamente rápida, estar livre de altas taxas de gás e muito mais.
Conteúdo:
Introdução
NFT é uma tecnologia revolucionária que pode beneficiar os usuários de várias maneiras. Por exemplo, concede aos usuários prova de propriedade sobre seus ativos digitais como nunca antes. Além disso, os NFTs podem levar a uma economia criadora inteiramente nova.
Com todas as vantagens que os NFTs trazem, todo mundo está falando sobre capacitar seus projetos com NFTs. Mas você sabe como desenvolver contratos inteligentes apoiados por NFT? Não se preocupe se não, porque este artigo irá orientá-lo em todas as etapas de criação de contratos inteligentes NFT no Velas Testnet.
Esteja ciente de que este tutorial mostrará como criar um NFT único em vez de uma coleção. Portanto, este contrato inteligente permitirá aos usuários cunhar qualquer uma de suas fotos ou vídeos como um NFT.
Por que Velas?
Existem muitos protocolos blockchain disponíveis. Mas os desenvolvedores ainda enfrentam problemas ao usá-los. Por exemplo, Ethereum luta com altas taxas de gás e processamento lento de transações, enquanto outras blockchains exigem que os desenvolvedores usem linguagens desconhecidas como Rust.
Com o Velas, a maioria dessas preocupações não existe. A solução da Velas herda o melhor DNA da tecnologia Solana e o complementa com recursos adicionais para suportar a compatibilidade com EVM. Isso oferece aos usuários e desenvolvedores uma plataforma ideal que garante uma excelente experiência do usuário com tempos de transação mais rápidos. Além disso, simplifica o processo de desenvolvimento com suporte Solidity.
Pré-requisitos
Para acompanhar, você deve ter Node mais Yarn, o gerenciador de pacotes. Além disso, você deve ter conhecimentos básicos de Solidity. Então, se você não está familiarizado com ele, equipe-se com os fundamentos do Solidity e Capacete primeiro.
instalação
Para configurar nosso projeto, execute o seguinte comando no terminal.
npx hardhat
Você verá a seguinte saída se não tiver o Hardhat instalado.
Formato y e clique entrar, e prosseguirá com a instalação do Hardhat. No entanto, se você já tiver o Hardhat, ele não mostrará o prompt para instalação do Hardhat. Em vez disso, ele fará algumas perguntas sobre como você deseja configurar o projeto.
Queremos um projeto Javascript básico em nossa pasta atual, basta clicar entrar para tudo.
Então temos que instalar nossas dependências para o projeto. Para instalá-los, usaremos o seguinte comando.
npm install --save-dev "^2.10.1" "@nomicfoundation/^1.0.1" "@openzeppelin/contracts" "dotenv"
Como estamos usando o Yarn, temos que instalar bibliotecas que o hardhat-toolbox usa.
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 você estiver usando o npm versão 7 ou versões posteriores, essas bibliotecas serão instaladas diretamente.
É importante notar que precisamos dar mais um passo antes de redigir um contrato inteligente. Isso é para remover qualquer .Sol arquivos que você vê na pasta de contratos e crie um novo arquivo chamado VELASNFT.sol. Esta é a pasta onde escreveremos nosso contrato.
Como redigir um contrato inteligente NFT
Construtor
Para começar, criaremos um contrato inteligente barebone onde definimos a versão de solidez e criaremos um corpo de contrato inteligente vazio.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.9; contract VELASNFT { }
Temos que importar um contrato inteligente básico e um contrato inteligente de utilidade pública. Notavelmente, estes são os contratos que usaremos para construir nosso contrato inteligente NFT. O contrato básico é ERC721URIArmazenamento, uma implementação ERC721 com gerenciamento de URI de token baseado em armazenamento.
Contadores é um contrato de utilidade pública que será usado para contar o número de NFTs cunhados.
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
Nosso contrato herdará o contrato base. Isso permitirá que os usuários acessem todas as funções do contrato base e de nossos contratos inteligentes.
contract VELASNFT is ERC721URIStorage { }
Agora podemos escrever o construtor para o nosso contrato. Notavelmente, nosso construtor não terá argumentos, mas você deverá passar o nome e o símbolo para o construtor ERC721.
constructor() ERC721("VELASNFT", "VN") {}
Ao final desta etapa, seu contrato inteligente deverá ficar assim.
//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") {} }
Escrevendo a função mint
Para a função mint, precisamos primeiro configurar o contador. Cole o seguinte trecho dentro do contrato acima do construtor.
using Counters for Counters.Counter; Counters.Counter private _tokenIds;
atribuímos todas as funções da biblioteca Counters à estrutura Counter. Então criaremos uma variável privada chamada _tokenIds.
Agora vamos começar a desenvolver a função. Será necessário um argumento: tokenURI, e será o URL do arquivo json que armazena todos os metadados. Veremos mais sobre metadados nas seções a seguir. A função mint terá visibilidade pública e retornará o ID do NFT cunhado, que será do tipo uint256.
function mint(string memory tokenURI) public returns (uint256) { }
Dentro da função, primeiro obteremos a contagem atual do contador.
Para cunhar um NFT, usaremos _hortelã função que leva endereço e ID como argumentos. Para endereço, usaremos o endereço do chamador e ID será a contagem atual. Depois disso, temos que salvar o tokenURI.
Para fazer isso, temos que _setTokenURI, que salvará o URI com o ID correspondente como chave. Ao final iremos incrementar o contador, e depois o ID do NFT criado.
function mint(string memory tokenURI) public returns (uint256) { uint256 newItemId = _tokenIds.current(); _mint(minter, newItemId); _setTokenURI(newItemId, tokenURI); _tokenIds.increment(); return newItemId; }
Parabéns! Agora seu contrato inteligente pode cunhar NFTs! Aqui está a visão geral de todo o contrato.
//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; }
}
Como implantar o contrato
Construímos nosso contrato inteligente NFT. Aí vem a etapa emocionante, a implantação. Mas antes de implantar o contrato, precisamos compilá-lo e escrever um script que implemente o contrato. Para compilar o contrato, execute o seguinte comando no terminal.
npx hardhat compile
Você verá a seguinte saída.
Agora vamos passar para a próxima etapa, escrevendo um script para implantar esse contrato inteligente. Para isso, iremos até a pasta de scripts e abriremos o arquivo deploy.js. Em seguida, remova todo o conteúdo e cole o seguinte trecho nesse arquivo.
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);
});
Antes de implantar o contrato, temos que adicionar detalhes sobre o testnet Velas ao arquivo hardhat.config.js. Abra o arquivo e adicione a configuração do testnet do 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] } }
};
Também vale a pena mencionar que antes de implantar o contrato, você deve adicionar as chaves privadas da sua carteira ao arquivo .env e ter algum token testnet VLX na carteira. Você pode obter tokens testnet de SUA PARTICIPAÇÃO FAZ A DIFERENÇA.
Agora que temos tudo configurado, execute o seguinte comando no terminal.
npx hardhat run scripts/deploy.js --network velastestnet
Se o comando for executado com sucesso, você verá uma saída semelhante à mostrada abaixo em seu terminal.
Cuide do NFT
À medida que o contrato inteligente é implantado, podemos cunhar o NFT do terminal. Para fazer isso, primeiro inicie o console do capacete usando o seguinte comando.
npx hardhat console --network velastestnet
A saída é mostrada abaixo.
Então criaremos a variável de contrato chamada “velasnft”. O getContractAt método retornará o objeto do contrato.
const velasnft = await ethers.getContractAt("VELASNFT", '0x587133187DEC8E1D5a964254B42FF3627a649313')
Consulte a saída mostrada abaixo.
Para cunhar o NFT, usaremos o método mint do velasnft variável. Também temos que passar o link dos metadados para o método. Você pode ler mais sobre os padrões de metadados AQUI.
await velasnft.mint("https://metadatastorage.com/velasnft/0")
Confira a saída abaixo.
Agora é hora de verificar o dono do NFT. Como cunhamos usando o dono de método, agora vamos passar o índice do NFT que cunhamos.
await velasnft.ownerOf(0)
É assim que obtemos o resultado do dono do NFT.
Conclusão
Neste artigo, aprendemos como redigir um contrato inteligente NFT que permite aos usuários cunhar NFTs. Além disso, conseguimos implantá-lo na testnet Velas. Agora, você pode desenvolver novos aplicativos baseados em NFT e explorar o ecossistema dinâmico do Velas.
Você também pode conferir como construir um DAO no Velas através deste link.
Velas quer capacitar aqueles que se esforçam para acelerar o desenvolvimento da Web3. Portanto, Velas lançou um programa de subsídios de US$ 100 milhões para cumprir esta missão. Entretanto, este programa também visa apoiar a expansão do ecossistema Velas.
Com o programa de bolsas de Velas, os desenvolvedores podem dar vida às suas ideias interessantes com mais eficiência. Cada projeto tem a oportunidade de receber até US$ 100,000 em financiamento. Além disso, as equipes selecionadas terão acesso a outros recursos para fomentar o desenvolvimento de seus projetos, incluindo marketing, consultoria técnica, entre outros.
O programa de subsídios cobre uma ampla gama de categorias, incluindo, entre outras, DeFi, NFT, jogos baseados em blockchain e muito mais.
Se você estiver interessado em acelerar a adoção em massa de criptomoedas e blockchain, inscreva-se agora para ingressar no ecossistema em constante evolução de Velas.
Saiba mais sobre Velas:
Aviso Legal — Este é um artigo patrocinado. A DappRadar não endossa nenhum conteúdo ou produto nesta página. O DappRadar visa fornecer informações precisas, mas os leitores devem sempre fazer sua própria pesquisa antes de agir. Os artigos da DappRadar não podem ser considerados conselhos de investimento.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- Fonte: https://dappradar.com/blog/how-to-create-nft-on-velas
- $ 100 milhões
- 000
- 1
- 10
- 7
- 9
- a
- Sobre
- acima
- acelerando
- Acesso
- Contas
- preciso
- Açao Social
- Adição
- Adicional
- endereço
- Adoção
- conselho
- Depois de
- visa
- Todos os Produtos
- permite
- já
- sempre
- e
- aplicações
- argumento
- argumentos
- artigo
- artigos
- Ativos
- disponível
- aguardam
- base
- basic
- fundamentos básicos
- Porque
- antes
- ser
- abaixo
- beneficiar
- Benefícios
- MELHOR
- blockchain
- acionado por blockchain
- blockchains
- corpo
- trazer
- construir
- construído
- chamado
- visitante
- Pode obter
- Categorias
- verificar
- coleção
- compatibilidade
- compatível
- Preocupações
- conclusão
- Configuração
- considerado
- cônsul
- consultores
- conteúdo
- contract
- contratos
- Correspondente
- Contador
- contadores
- Covers
- crio
- criado
- Criar
- criador
- Economia do Criador
- criptomoedas
- Atual
- DAO
- DappRadar
- dados,
- DeFi
- implantar
- implantado
- Implantação
- desenvolvimento
- implanta
- detalhes
- desenvolver
- desenvolvedores
- Desenvolvimento
- digital
- Ativos Digitais
- diretamente
- dna
- não
- dinâmico
- cada
- economia
- ecossistema
- eficientemente
- autorizar
- capacitação
- permitir
- endossar
- inteiramente
- ERC721
- erro
- ethereum
- todos
- tudo
- exemplo
- excelente
- emocionante
- executar
- expansão
- vasta experiência
- explorar
- exportações
- Rosto
- familiar
- RÁPIDO
- mais rápido
- Funcionalidades
- Taxas
- Envie o
- Arquivos
- Primeiro nome
- seguir
- seguinte
- Promover
- Gratuito
- da
- função
- funções
- financiamento
- Games
- GAS
- taxas de gás
- ter
- OFERTE
- dá
- Go
- conceder
- subsídios
- garantias
- SUA PARTICIPAÇÃO FAZ A DIFERENÇA
- Alta
- Como funciona o dobrador de carta de canal
- Como Negociar
- Contudo
- HTTPS
- ideal
- idéias
- implementação
- importar
- in
- incluir
- Incluindo
- índice
- INFORMAÇÕES
- instalar
- em vez disso
- interessado
- Introdução
- investimento
- questões
- IT
- JavaScript
- juntar
- json
- Chave
- chaves
- Saber
- Conhecimento
- Idiomas
- lançado
- conduzir
- aprendido
- aproveitando
- bibliotecas
- Biblioteca
- vida
- Limitado
- LINK
- olhar
- parece
- a Principal
- gerenciados
- de grupos
- Gerente
- muitos
- Marketing
- Massa
- Adoção em massa
- max-width
- Entretanto
- média
- Memória
- metadados
- método
- milhão
- hortelã
- cunhadas
- Missão
- MIT
- Módulo
- mais
- a maioria
- mover
- nome
- você merece...
- redes
- Novo
- Próximo
- NFT
- NFT contratos inteligentes
- NTF`s
- nó
- notavelmente
- número
- objeto
- ONE
- aberto
- OpenSea
- Oportunidade
- Outros
- Visão geral
- próprio
- proprietário
- propriedade
- pacote
- regalias
- plataforma
- platão
- Inteligência de Dados Platão
- PlatãoData
- por favor
- mais
- pré-requisitos
- apresentação de negócios
- privado
- Chaves Privadas
- processo
- em processamento
- Produto
- Agenda
- projeto
- projetos
- prova
- protegido
- protocolos
- fornecer
- público
- Frequentes
- alcance
- Leia
- leitores
- receber
- remover
- requerer
- pesquisa
- Recursos
- resultar
- retorno
- Retorna
- revolucionário
- Execute
- Ferrugem
- Salvar
- Scripts
- seções
- selecionado
- conjunto
- instalação
- rede de apoio social
- mostrar
- mostrando
- semelhante
- desde
- lento
- smart
- smart contract
- Smart Contracts
- So
- SOL
- solidez
- solução
- alguns
- velocidade
- Patrocinado
- Etapa
- padrões
- começo
- Passo
- Passos
- Ainda
- lojas
- lutar
- Lutas
- entraram com sucesso
- ajuda
- símbolo
- Tire
- toma
- tomar
- falando
- equipes
- Dados Técnicos:
- Tecnologia
- terminal
- testnet
- A
- O Básico
- deles
- Lá.
- assim sendo
- coisas
- Através da
- tempo
- para
- token
- Tokens
- transação
- velocidade de transação
- verdadeiro
- tutorial
- desconhecido
- URL
- usar
- Utilizador
- Experiência do Usuário
- usuários
- utilidade
- vário
- Velas
- versão
- via
- VÍDEOS
- visibilidade
- W3
- Wallet
- maneiras
- Web3
- webp
- qual
- enquanto
- QUEM
- Largo
- Ampla variedade
- precisarão
- Equivalente há
- escrever
- escrita
- Vocês
- investimentos
- você mesmo
- zefirnet