DEV Community

Cover image for Hola mundo! NFT
Ahmed Castro
Ahmed Castro

Posted on

Hola mundo! NFT

Esta es la manera mas sencilla de mintear tokens no fungibles NFTs (ERC 721) por medio de smart contracts. Usa este ejemplo únicamente como punto de partida, no como un proyecto final. Recuerda que solidity ofrece mucha flexibilidad para que podamos interactuar con los NFTs de maneras creativas. Así que experimenta creando tu propio contrato único y combínalo con el resto del ecosistema de Ethereum o cualquier otro blockchain.

Requerimientos

  1. Tener Metamask instalado
  2. Tener fondos en Rinkeby Testnet, consíguelos en este faucet

1. Subir nuestro JSON URI vía IPFS

Primero sube la imagen por medio de un uploader IPFS, te recomiendo este:

https://anarkrypto.github.io/upload-files-to-ipfs-from-browser-panel/public/

Una vez subida la imagen fíjate en el hash que se ha generado y crea un archivo JSON. Coloca el hash donde se indica TUHASHAQUI como en el ejemplo a continuación.

{
    "name": "Mi NFT",
    "description": "Esta este es un ejemplo de descripción",
    "image": "https://ipfs.io/ipfs/TUHASHAQUI"
}
Enter fullscreen mode Exit fullscreen mode

2. Lanzar el contrato en Rinkeby Testnet

Ahora crea un contrato en solidity e ingresa hash del archivo JSON en TUHASHAQUI como se indica a continuación. Puedes deployar este contrato via Remix.

// contracts/GameItem.sol
// SPDX-License-Identifier: MIT
pragma solidity 0.8.6;

import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract MyNFT is ERC721 {
    uint256 token_count;

    constructor() ERC721("My NFT", "MNFT") {}

    function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
        require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token");
        return "https://ipfs.io/ipfs/TUHASHAQUI";
    }

    function mintNFT(address to) public
    {
        token_count  += 1;
        _mint(to, token_count);
    }
}
Enter fullscreen mode Exit fullscreen mode

3. Ver tu NFT

Ahora puedes lanzar el contrato en Rinkeby y mintear tokens. Luego podrás agregarlos o verlos en las versiones de Testnet de OpenSea o Rarible.

Gracias por ver este tutorial!

Sígueme en dev.to y en Youtube para todo lo relacionado al desarrollo en Blockchain en Español.

Latest comments (4)

Collapse
 
aratan profile image
Víctor

Me llega a Opensea pero no se muestra la imagen ¿quizas cambiaron el formato de json ?

Collapse
 
turupawn profile image
Ahmed Castro

Hola amigo, no han habido cambios en el formato del JSON. Sigue siendo el formato del ERC721. Aquí está la documentación de OpenSea, resulta que es bastante estricta, algo que no esté bien y el NFT no sale. También a veces tenemos que esperar un poco para que actualice
docs.opensea.io/docs/metadata-stan...

Collapse
 
many2050 profile image
Many2050

Saludos Excelentes tutoriales
Saves la manera de mintear un coleccion de 10m ntf y al mismo tiempo que se pongan ala venta todos en opensea gracias

Collapse
 
turupawn profile image
Ahmed Castro

Tengo este video donde lo explico: https://www.youtube.com/watch?v=nh4KnGPerXM&t=1564s