Libere o token PRC-721

Antes de começar, você precisará preparar o seguinte:

  1. Carteira de metamask

  2. Tem pelo menos 1 PSC

Adicionando arquivos ao IPFS

Precisamos hospedar a obra de arte correspondente à NFT e criar um arquivo de metadados;Para fazer isso, usaremos o IPFS-um sistema distribuído para armazenamento e compartilhamento de arquivos ponto a ponto.Siga as instruções de instalação na documentação do IPFS para baixar e instalar a CLI do IPFS com base no seu sistema operacional.

A seguir, estão as etapas para hospedar arquivos de imagem e metadados:

Crie o repo IPFS.Inicialize o repo IPFS digitando o seguinte em uma janela de terminal

 $ ipfs init

Inicie o daemon do IPFS.Abra uma janela de terminal separada e digite o seguinte:

$ ipfs daemon

Para adicionar uma imagem ao IPFS, vá para a primeira janela do terminal e adicione a imagem ao IPFS (aqui é art.png).

$ ipfs add art.png

Copie o hash a partir do QM e adicione o https://ipfs.io/ipfs/prefix, deve parecer o seguinte:https://ipfs.io/ipfs/QmdrswwrbcfPeknN2BRLVmyWbWRsKSC3vSNhV9Gkvhk1mL.

Adicione um arquivo JSON ao IPFS.Crie um arquivo json, nft.json e salve -o no mesmo diretório que a imagem.

{
    "name": "NFT Art",
    "description": "This image shows the true nature of NFT.",
    "image": "https://ipfs.io/ipfs/QmZzBdKF7sQX1Q49CQGmreuZHxt9sVB3hTc3TTXYcVZ7jC",
}

Formato de arquivo JSON:

$ ipfs add nft.json

Copie el hash que comienza en Qm y agregue el https://ipfs.io/ipfs/prefix, debe verse así: https://ipfs.io/ipfs/QmWKqwMJQHSfpfRFGUVGPFFtkBJ5WkFzhjQpruhSLtLWXB, guarde esta URL. Necesitamos esto para acuñar NFT.

Crea nuestro propio Token

Por conveniencia y seguridad, usaremos el contrato 0xcert/ethereum-erc721 para crear nuestro contrato NFT. Con 0xcert/ethereum-erc721, no necesitamos escribir toda la interfaz ERC-721. En su lugar, podemos importar el contrato de la biblioteca y usar sus funciones. Vaya al IDE de Ether Remix, cree un nuevo archivo de Solidity, por ejemplo, nft.sol, y pegue el siguiente código en el archivo de Solidity.

// SPDX-License-Identifier: MIT
pragma solidity 0.8.0;
 
import "https://github.com/0xcert/ethereum-erc721/src/contracts/tokens/nf-token-metadata.sol";
import "https://github.com/0xcert/ethereum-erc721/src/contracts/ownership/ownable.sol";
 
contract newNFT is NFTokenMetadata, Ownable {
 
  constructor() {
    nftName = "Synth NFT";
    nftSymbol = "SYN";
  }
 
  function mint(address _to, uint256 _tokenId, string calldata _uri) external onlyOwner {
    super._mint(_to, _tokenId);
    super._setTokenUri(_tokenId, _uri);
  }
 
}

A seguir, é apresentada uma explicação do código:

Linha 1: Especifica o tipo de licença SPDX, que foi adicionado após a solidez ^0,6.8.Essas licenças podem ajudar a resolver/evitar problemas de direitos autorais sempre que o código -fonte de um contrato inteligente for disponibilizado ao público.Se você não deseja especificar nenhum tipo de licença, pode usar um valor especial não licenciado ou apenas pule o comentário inteiro (não causará um erro, apenas um aviso).

Linha 2: declara a versão de solidez.

Linhas 4-5: Importe o contrato 0xCert / Ethereum-ERC721.

Linha 7: O contrato é nomeado NEWNFT, que herda os contratos NftokenMetadata e possuía.

Linhas 9-12: Inicialize o construtor e defina o nome e o símbolo do token.

Linha 14: Declarar a função Mint com três parâmetros, a variável _ para o endereço, que armazena o endereço do destinatário do token NFT;a variável _TokenID para UINT256, que manterá o ID do token;e a variável _uri para a string, que armazenará o URI do arquivo JSON.Declarar a Mint como uma função externa que pode ser acessada de fora de outros contratos inteligentes e do contrato atual.

Linha 15: use o endereço do destinatário e o token ID para cuidar dos tokens.

Linha 16: defina o URI token usando o ID do token e o URI do arquivo JSON.

Compilar o contrato inteligente e implantá -lo usando Web3 injetado (certifique -se de selecionar o Ropsten TestNet no Metamask antes de compilar o contrato).Aprovar as transações que chegam ao Metamask.

Se você receber uma mensagem de erro antes da implantação: este contrato pode ser abstrato, verifique se o contrato apropriado é selecionado sob a guia Contratos.Confirme a transação em Metamak.

Agora vá para a seção de contratos implantados em remix e expanda os contratos implantados.Você verá várias funções/métodos.Expanda a função de hortelã e adicione os seguintes parâmetros:

  1. Adicione seu endereço ROPSTEN a _to.

  2. Digite qualquer valor numérico no _TokenId (1 é recomendado, pois é o primeiro).

  3. No campo _uri, adicione o URI do arquivo JSON obtido na seção anterior.

Clique na transação e confirme a transação do Metamak.(Requer que você já tenha eth na cadeia de ropsten)

Você pode ver outros detalhes, como nome, símbolo, proprietário ou tokenuri, entrando no ID do token, mencionamos antes.

Parabéns pela criação de sua própria NFT, ajudando seus amigos artistas a postarem suas obras de arte até o blocos de éter, ou se tornar um artista.

Last updated