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
- Tener Metamask instalado
- 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"
}
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);
}
}
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)
Me llega a Opensea pero no se muestra la imagen ¿quizas cambiaron el formato de json ?
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...
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
Tengo este video donde lo explico: https://www.youtube.com/watch?v=nh4KnGPerXM&t=1564s