Lanzar Token PRC-721

Antes de comenzar, deberá preparar lo siguiente:

  1. Billetera de metamask

  2. Tener al menos 1 PSC

Añadiendo archivos a IPFS

Necesitamos alojar la obra de arte correspondiente a NFT y crear un archivo de metadatos;Para hacer esto, utilizaremos IPFS: un sistema distribuido para el almacenamiento de archivos de igual a igual y el intercambio.Siga las instrucciones de instalación en la documentación de IPFS para descargar e instalar la CLI IPFS en función de su sistema operativo.

Los siguientes son los pasos para alojar archivos de imagen y metadatos:

Crea el repositorio de IPFS.Inicialice el repositorio de IPFS escribiendo lo siguiente en una ventana de terminal

 $ ipfs init

Comience el daemon de IPFS.Abra una ventana de terminal separada y escriba lo siguiente:

$ ipfs daemon

Para agregar una imagen a IPFS, vaya a la ventana del primer terminal y agregue la imagen a IPFS (aquí está art.png).

$ ipfs add art.png

Copie el hash a partir de QM y agregue https://ipfs.io/ipfs/prefix, debe verse así:https://ipfs.io/ipfs/QmdrswwrbcfPeknN2BRLVmyWbWRsKSC3vSNhV9Gkvhk1mL.

Agregue un archivo JSON a IPFS.Cree un archivo json, nft.json, y guárdelo en el mismo directorio que la imagen.Formato de archivo JSON:

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

Ahora agregue el archivo JSON:

$ ipfs add nft.json

Copie el hash comenzando en QM y agregue el https://ipfs.io/ipfs/prefix, debe verse así: https: //ipfs.io/ipfs/qmwkqwmjqhsfpfrfguvgpfftkbj5wkfzhjqpruhsltlwxb, guarde esta URL.Necesitamos esto para MINT NFT.

Crea nuestro propio token

Para la conveniencia y la seguridad, utilizaremos el contrato 0xCert / Ethereum-ERC721 para crear nuestro contrato de NFT. Con 0xCert / Ethereum-ERC721, no necesitamos escribir toda la interfaz ERC-721.En su lugar, podemos importar el contrato de la biblioteca y utilizar sus funciones. A los Ether Remix IDE, realice un nuevo archivo de solidez, por ejemplo, NFT.SOL, y pegue el siguiente código en el archivo de solidez.

// 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);
  }
 
}

La siguiente es una explicación del código:

Line 1: Especifica el tipo de licencia SPDX, que se agregó después de la solidez ^0.6.8.Estas licencias pueden ayudar a resolver/evitar problemas de derechos de autor siempre que el código fuente de un contrato inteligente esté disponible para el público.Si no desea especificar ningún tipo de licencia, puede usar un valor especial sin licencia o simplemente omitir el comentario completo (no causará un error, solo una advertencia).

Line 2: declara la versión de solidez.

Lines 4-5: importe el contrato 0xCert/Ethereum-ECR721.

Line 7: El contrato se llama NewNft, que hereda los contratos de NTokenMetAdAdata y propietarios.

Lines 9-12: Inicialice el constructor y configure el nombre y el símbolo de token.

Line 14: declare la función menta con tres parámetros, la variable _TO para la dirección, que almacena la dirección del destinatario del token NFT;la variable _TokenID para UINT256, que contendrá la ID de token;y la variable _URI para la cadena, que almacenará el URI del archivo JSON.Declare a Mint como una función externa a la que se puede acceder desde fuera de otros contratos inteligentes y el contrato actual.

Line 15: Use la dirección del destinatario y la ID de token para acuñar los tokens.

Line 16: Establezca el URI de token usando la ID de token y el URI del archivo JSON.

Compile el contrato inteligente e implemente con inyectado Web3 (asegúrese de seleccionar Ropsten TestNet en Metamask antes de compilar el contrato).Aprobar las transacciones que llegan a Metamask.

Si recibe un mensaje de error antes de la implementación: este contrato puede ser abstracto, asegúrese de que el contrato correspondiente esté seleccionado en la pestaña Contratos.Confirme la transacción en Metamask.

Ahora vaya a la sección Contratos implementados en Remix y expanda los contratos implementados.Verá un montón de funciones / métodos.Expanda la función MINT y agregue los siguientes parámetros:

  1. Agregue su dirección ROPSTEN a _TO.

  2. Ingrese cualquier valor numérico en _tokenid (se recomienda 1, ya que es el primero).

  3. En el campo _URI, agregue el URI del archivo JSON obtenido en la sección anterior.

Haga clic en la transacción y confirme la transacción de Metamask.(Requiere que ya tenga eth, en la cadena de ropsten)

Puede ver otros detalles como nombre, símbolo, propietario o tokenuri ingresando la identificación del token que mencionamos anteriormente.

Felicitaciones por crear su propio NFT, ayudar a sus amigos de artistas a publicar su obra de arte en la cadena de bloques Ether o convertirse en artista usted mismo.

Last updated