ERC-721
Resumen
Pros
- Permite la creación de múltiples tipos de tokens dentro de un mismo contrato
- Admite tokens fungibles y no fungibles
- Más eficiente y rentable para crear una amplia gama de NFTs
Cons
- Sólo permite crear un único tipo de token
- Ineficiente para crear múltiples tipos de NFT
🏁 Requisitos Previos
- Utilizando Hardhat
Tutorial
1. Escribe tu contrato ERC-721
Utilizaremos un contrato basado en la [implementación ERC-721]() de la biblioteca OpenZeppelin.
a) Primero, instala la librería Open Zeppelin para heredar sus clases:
b) A continuación, crea un archivo llamado NFT.sol dentro de la carpeta contracts.

c) Por último, añade el siguiente contrato inteligente al archivo NFT.sol .
Ten en cuenta que hemos llamado a nuestro contrato NFT, este puede ser cualquier nombre. El nombre será importante en el siguiente paso.
2. Instala Hardhat Deploy
3. Instala una librería Ethereum
En este ejemplo, utilizaremos Ether.js
4. Define variables de entorno con dotenv
- Instala dotenv
Mantén tus Claves Privadas en Secreto
Las claves privadas deben ser mantenidas en secreto y no comprometidas en ningún repositorio de código. En el ejemplo de este tutorial, el archivo .env debe añadirse a su archivo .gitignore y mantenerse local. Por ejemplo, consulta la guía de MyCrypto Protégete a ti mismo y a tus fondos.
- Crea un archivo .gitignore
Un gran ejemplo de un archivo Solidity .gitignore puede ser consultado aquí

- Crea un archivo .env en el folder raíz de tu proyecto, y define variables de entorno en el archivo de la siguiente manera

5. Edita hardhat.config.js con el siguiente texto:
6. Compila tu Contrato
Para asegurarnos de que todo funciona hasta ahora, vamos a compilar nuestro contrato:
7. Escribe un script de despliegue
a) Dirígete al folder scripts y crea un nuevo archivo llamado deploy_NFT.js

b) Agrega el código mostrado a continuación
8. Despliega en el entorno de red Palm de destino
- La tarea ejecutará los scripts en la carpeta scripts y guardará los despliegues del contrato en el disco. Cada despliegue se guarda en la carpeta deployments para la red específica.
9. Busca tu Despliegue en el Explorador de Bloques de Red de Palm
| Red de prueba | Red principal |
URL del explorador |
Pega la dirección de tu contrato en la barra de búsqueda.
Obtén la dirección de tu contrato de 2 maneras:
- Console.log() output Contract deployed to address: contractNumber
- En deployments/palm_testnet/NFT.json o deployments/palm_mainnet/NFT.json donde también encontrarás la información ABI (Application Binary Interface).
Verás algo parecido a esto una vez desplegado correctamente 👇

10. Verifica a través de Sourcify
- Utilizando Sourcify
Siguiente Paso 👉 Acuña tu NFT
Usando el Contrato Inteligente que acabas de desplegar ahora puedes Acuña NFTs con Hardhat
