Grupo de criptomercados: cómo crear e implementar una colección NFT

Cómo crear e implementar una colección NFT

Publicado por
Comparte en redes sociales

En este tutorial crearemos e implementaremos una colección NFT. Primero crearemos una colección de imágenes y las subiremos a IPFS (Inter Planetary File System). Luego crearemos un contrato inteligente de Solidity y lo vincularemos a las imágenes. Finalmente probaremos los NFT‘s en Open Sea. Si no está seguro de qué es un NFT, puede leer más sobre ellos aquí (Token no fungible).

Imágenes y archivos JSON para la colección NFT

Para crear e implementar una colección NFT, debemos asegurarnos de que la estructura de nuestro proyecto esté configurada correctamente para escalar. Si desea crear 5 NFT o 5000 NFT, la estructura de los datos y las carpetas será la misma. Deberá crear una carpeta de imágenes y una carpeta JSON. Cada carpeta contendrá los archivos necesarios para este proyecto. Tómese el tiempo para organizar sus archivos y guardarlos en una ubicación en su computadora para facilitar el acceso.

imágenes y archivos json para la colección NFT Tokens no fungibles

Cree una carpeta de imágenes para NFT

Deberá crear una carpeta que contenga todas las imágenes que le gustaría convertir en NFT. Puede utilizar cualquier conjunto de imágenes para crear NFT. Cree una carpeta llamada «imágenes» y coloque todas sus imágenes en esta carpeta. Para este tutorial, nombre cada uno de los archivos de imagen con el nombre image_number y use la extensión .jpg.

Cree una carpeta JSON para NFT

Luego crea otra carpeta llamada «JSON». Esta carpeta contendrá los archivos JSON correspondientes para cada imagen. Los archivos JSON se utilizan para dar los rasgos de su NFT. Para crear los archivos JSON, use su editor de texto favorito. Usé PyCharm para crear estos archivos y guardé cada archivo en la carpeta JSON. La estructura JSON que utilicé para cada archivo se encuentra a continuación. Asegúrese de que cada archivo JSON corresponda a un nombre de imagen (por ejemplo, image_1.jpg). Agregue, elimine y cambie atributos para que se correspondan con sus imágenes y proyecto. Tenga en cuenta que actualizaremos el {CID} más adelante en el proceso.

Leer también  Gala, Arweave y $GFOX son los mayores ganadores a medida que el mercado busca dirección

archivo JSON de muestra

{
  "name" : "Image name",
  "description" : "Description of image",
  "image" : "https://ipfs.io/ipfs/{CID}/image_1.jpg",
  "attributes" : [
    {
      "trait_type": "Strength",
      "value": 75
    }, {
      "trait_type": "Eye color",
      "value": "Blue"
    }
  ]
}

Sube imágenes y archivos JSON a Pinata

A continuación, cree una cuenta en Piñata. Proporcionan un servicio para cargar archivos a IPFS y puede registrarse para obtener una cuenta gratuita. Con su cuenta gratuita, puede experimentar y poner en marcha rápidamente su proyecto NFT. Recuerde que IPFS es una red pública, por lo que solo publique la información que desee compartir con el mundo.

imágenes y archivos json para la colección NFT Tokens no fungibles y carga en IPFS

Después de crear su cuenta en Pinata, realice los siguientes pasos:

  1. Sube la carpeta que contiene todas tus imágenes
  2. Después de cargar la carpeta en Pinata, se crea un CID
imágenes y archivos json para creación e implementación de tokens no fungibles NFT en Pinata

3. Copie este CID y péguelo en cada uno de sus archivos JSON (vea el ejemplo a continuación)

{
  "name" : "Image name",
  "description" : "Description of image",
//paste the CID in the url below in all JSON files
  "image" : "https://ipfs.io/ipfs/QmaHKXWYghC6ah7r4u3FuCD8/image_1.jpg",
  "attributes" : [
    {
      "trait_type": "Strength",
      "value": 75
    }, {
      "trait_type": "Eye color",
      "value": "Blue"
    }
  ]
}

4. Después de que todos los archivos JSON se hayan actualizado con el CID en la URL, cargue la carpeta JSON en Pinata. Después de cargar los archivos JSON en Pinata, se generará un nuevo CID para la carpeta JSON. La carpeta JSON CID se utilizará en su contrato inteligente de Solidity.

imágenes y archivos json para tokens NFT Nonfungible crear e implementar usando Pinata

Cree e implemente un contrato inteligente Solidity ERC721 para su colección NFT

Ahora creemos un contrato inteligente ERC721 Solidity para nuestra colección NFT. Este contrato inteligente le permitirá acuñar un NFT y hará un seguimiento de todos los tokens y propietarios. Es importante tener en cuenta que este contrato utiliza la ubicación IPFS de la carpeta JSON.

imágenes y archivos json para tokens no fungibles NFT en IPFS y contrato inteligente

El contrato inteligente ERC721 a continuación importa los contratos ERC721 y Strings de Open Zeppelin. Se agregaron dos funciones al contrato a continuación (Mint y TokenURI). Este es un contrato de muestra y puede extenderse para cumplir con los objetivos de su proyecto.

Leer también  Análisis de precios de Ripple y Toncoin, KangaMoon entusiasma a los primeros compradores cuando alcanza el nuevo ATH

Lea los comentarios en el código para comprender cómo funciona el contrato inteligente.

pragma solidity ^0.8.2;

//import Open Zepplin contracts
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC721/ERC721.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/Strings.sol";

contract NFT is ERC721 {
    uint256 private _tokenIds;
    
    constructor() ERC721("Name", "Symbol") {}
    
//use the mint function to create an NFT
    function mint()
    public
    returns (uint256)
    {
        _tokenIds += 1;
        _mint(msg.sender, _tokenIds);
        return _tokenIds;
    }
    
//in the function below include the CID of the JSON folder on IPFS
    function tokenURI(uint256 _tokenId) override public pure returns(string memory) {
        return string(
            abi.encodePacked(
                "https://ipfs.io/ipfs/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/",
                Strings.toString(_tokenId),
                ".json"
            )
        );
    }
}

Pruébalo en Remezclar

En el futuro, agregue una tarifa de acuñación a su contrato. A los efectos de esta demostración, lo dejamos fuera. Esto hace que el contrato y el proceso sean más fáciles de comprender y probar.

    //add a state variable
    uint256 public mintingFee = 20000000000000000;

    //add a function to change the state variable
    function setMintingFee(uint256 _fee) public onlyOwner {
        mintingFee = _fee;
    
    //add a require statement to the mint function
    require(mintingFee <= msg.value, "Not Enough Ether To Mint");

Implemente el contrato en la red Goerli y pruebe sus NFT en Open Sea

Utilice Remix para cargar su contrato en el próximo trabajo de Goreli. Después de cargar el contrato inteligente, acuñe un NFT directamente en Remix.

cree e implemente NFT ERC721 en Ethereum usando Remix para su colección

Después de crear e implementar una colección de NFT, pruebe sus NFT en Open Sea. Por último, vaya al entorno de prueba de mar abierto en https://testnets.opensea.io/ y conecte su billetera que contiene sus NFT recién acuñados. Podrá ver la colección de NFT que posee en su billetera en la plataforma Open Sea. Seleccione Perfil y luego Recopilado.

Utilice el entorno de prueba Open Sea para ver la colección NFT

Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.

Leer también  Guía de airdrop del token Drop ($DROP): cómo ganar Droplets

Direcciones de Billetera:

- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS 

- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe 

- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f

- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx 

También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:

-Twitter

- Telegram

Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *