Skip to main content

Requisitos previos

Preparación del contrato

El siguiente contrato de ejemplo se usará a lo largo de esta guía:

Despliega con Foundry

Foundry es un toolkit rápido basado en Rust para desarrollo en Ethereum.
  1. Instala Foundry:
    Puede que tengas que ejecutar source a tu archivo .bashrc o .zshrc
  2. Configura un nuevo proyecto Foundry:
  3. Actualiza foundry.toml con la configuración de la testnet de Plasma:
  4. Crea un archivo .env en la raíz de tu proyecto:
  5. Carga las variables de entorno:
  6. Guarda el código del contrato como src/SimpleStorage.sol y luego despliégalo:
    Foundry generará el hash de la transacción de despliegue y la dirección del contrato:
  7. Prueba tu contrato desplegado usando la herramienta cast de Foundry. Primero, lee los datos almacenados:
  8. Luego actualiza los datos y léelos nuevamente:
    Esto debería generar algo como:

Despliega con Hardhat

Hardhat es un framework de desarrollo completo con amplio soporte de plugins.
  1. Asegúrate de tener lo siguiente:
  • Node.js 20+ (requerido para compatibilidad con Hardhat moderno)
  • Familiaridad con el desarrollo en Ethereum
  • Una wallet con tokens de testnet (consulta los detalles de la cadena testnet)
Node.js 18 e inferiores ya no son soportados por Hardhat y pueden causar problemas de compatibilidad con módulos ES.
  1. Verifica la versión de Node.js:
    Si estás usando Node.js 18 o inferior, actualiza a Node.js 20+:
  2. Inicializa un nuevo proyecto Hardhat:
    Si encuentras problemas de compatibilidad, revisa la documentación de Hardhat para las últimas versiones soportadas.
    Elige Create a JavaScript project cuando se te solicite.
  3. Actualiza hardhat.config.js:
  4. Crea un archivo .env en la raíz de tu proyecto:
  5. Crea el directorio scripts y el script de despliegue:
  6. Crea scripts/deploy.js:
  7. Guarda el código del contrato como contracts/SimpleStorage.sol y luego despliégalo:
  8. ¡Listo!

Despliega con Ethers.js

Ethers.js provee un flujo de despliegue programático y mínimo.
  1. Crea un nuevo proyecto:
  2. Crea un archivo .env en la raíz de tu proyecto:
  3. Crea compile.js para compilar tu contrato Solidity:
  4. Guarda tu contrato como SimpleStorage.sol y luego compílalo:
    Esto debería generar:
  5. Crea deploy.js:
  6. Ejecuta el script de despliegue:
    Esto debería generar algo como:

Verifica el despliegue

Después de desplegar con cualquiera de los métodos anteriores, verifica el despliegue de tu contrato.

Solución de problemas

Problemas de compatibilidad con módulos ES

Si encuentras errores como Error [ERR_REQUIRE_ESM]: require() of ES Module, esto generalmente significa:
  1. La versión de Node.js es demasiado antigua: Actualiza a Node.js 20+ como se menciona en los requisitos previos
  2. Desajuste en la versión de la dependencia: Si no es posible actualizar Node.js, puedes degradar la dependencia problemática:

Advertencias de versión de Node.js

Si ves advertencias sobre versiones no soportadas de Node.js:
Actualiza a Node.js 20+ siguiendo los pasos en la sección de requisitos previos.

Fondos insuficientes

Asegúrate de que tu wallet tenga suficientes tokens de testnet. Visita un faucet de testnet.

Configuración de red incorrecta

Verifica que tu configuración de red coincida con los detalles de la cadena testnet.

Falla en la estimación de gas

Establece límites de gas explícitos en tu configuración de despliegue: