Ir al contenido principal

Desplegar en Celo con Hardhat

C贸mo desplegar un contrato inteligente en Celo testnet, mainnet o una red local usando Hardhat.


Introducci贸n a Hardhat

Hardhat es un entorno de desarrollo para compilar, desplegar, probar y depurar tu software Ethereum o Celo. Ayuda a los desarrolladores a administrar y automatizar las tareas recurrentes que son inherentes al proceso de construcci贸n de contratos inteligentes y dApps, adem谩s de introducir f谩cilmente m谩s funcionalidad alrededor de este flujo de trabajo. Esto significa compilar, ejecutar y probar contratos inteligentes en el centro mismo.

Prerequisitos

Para desplegar en Celo usando Hardhat, debes tener Celo configurado en tu entorno local. Si prefieres desplegar sin un entorno local, puedes desplegar usando Remix o Replit.

Crear un proyecto Hardhat

Elige uno de los siguientes elementos para preparar una dApp para desplegar en Celo.

Actualizar el archivo hardhat.config.js

Abre hardhat.config.js en un editor de texto y reemplaza su contenido con este c贸digo de configuraci贸n de Celo. Este c贸digo es similar a la configuraci贸n de Hardhat con algunas actualizaciones de configuraci贸n necesarias para desplegar en una red de Celo. Necesitar谩s crear un archivo .env en el directorio ra铆z del proyecto e instala dotenv con npm o yarn para leer el .process.env.MNEMONIC en el archivo de configuraci贸n.

Conectarse a una red local

Usando Celo Ganache CLI creas cuentas de prueba en el localhost en el puerto 7545. La configuraci贸n de red privada se conecta a tu localhost en este puerto y te da acceso a tus cuentas en ganache-cli.

    localhost: {
url: "http://127.0.0.1:7545"
},
consejo

Si eliges configurar una cadena de desarrollo local, tu blockchain tambi茅n ser谩 alojada en una red privada en localhost. Esta misma configuraci贸n se puede utilizar para conectarse a la cadena de desarrollo local.

Conectarse a Testnet usando Forno

Usar Forno te permite conectarte al blockchain principal de Celo sin ejecutar un nodo local. La configuraci贸n de testnet utiliza Forno para conectarse al Celo Testnet (Alfajores) usando HDWalletProvider y el mnem贸nico almacenado en tu archivo .env.

   alfajores: {
url: "https://alfajores-forno.celo-testnet.org",
accounts: {
mnemonic: process.env.MNEMONIC,
path: "m/44'/52752'/0'/0"
},
chainId: 44787
}
nota

Celo utiliza una ruta de derivaci贸n de cuenta diferente a Ethereum, as铆 que tienes que especificar "m/44'/52752'/0'/0" como la ruta.

Conectar a Mainnet usando Forno

Usar Forno te permite conectarte al blockchain principal de Celo sin ejecutar un nodo local. La configuraci贸n de mainnet utiliza Forno para conectarse al Celo Mainnet usando HDWalletProvider y el mnem贸nico almacenado en tu archivo .env.

   celo: {
url: "https://forno.celo.org",
accounts: {
mnemonic: process.env.MNEMONIC,
path: "m/44'/52752'/0'/0"
},
chainId: 42220
}
consejo

Forno es un servicio de nodo alojado en cLabs para interactuar con la red de Celo. Este te permite conectarte al blockchain Celo sin tener que ejecutar tu propio nodo.

Desplegar a Celo

Ejecuta el siguiente comando desde el directorio ra铆z del proyecto para desplegar en testnet Celo Alfajores.

npx hardhat run scripts/sample-script.js --network alfajores

...o ejecuta este comando para desplegar en el mainnet de Celo.

npx hardhat run scripts/sample-script.js --network celo

Ver despliegue del contrato

Copia tu direcci贸n de contrato desde la terminal y ve al explorador de bloques para buscar tu contrato desplegado. Cambia entre redes para encontrar tu contrato usando el men煤 desplegable de la barra de b煤squeda.

github

consejo

Obt茅n m谩s informaci贸n sobre la construcci贸n y despliegue de dApps usando la documentaci贸n de HardHat.

Verificar contratos en Celo