Fork Ethereum mainnet en su ordenador
La bifurcación del blockchain de Ethereum en su ordenador local le permite crear una versión local de la red Ethereum, incluido su estado actual, con fines de prueba y desarrollo. Esto es útil cuando quieres experimentar con datos en vivo, simular transacciones o probar contratos inteligentes sin interactuar con la red principal de Ethereum.
Aquí tienes una guía paso a paso sobre cómo bifurcar la blockchain de Ethereum en tu máquina local utilizando Ganache y Hardhat, dos herramientas populares para este propósito.
Bifurcación de Ethereum con Ganache
Ganache es una herramienta de Truffle Suite que permite a los desarrolladores ejecutar una blockchain Ethereum personal de forma local. También tiene la capacidad de bifurcar la red principal u otras redes de prueba de Ethereum.
Paso 1: Instalar Ganache CLI
Primero, necesitas instalar Ganache. Puedes hacerlo a través de npm:
npm install -g ganache
Paso 2: Obtener una clave API de Infura o Alchemy
Para bifurcar la red principal o la red de pruebas de Ethereum, necesita un proveedor de Ethereum como Infura o Alchemy para acceder a los datos de la cadena de bloques de Ethereum. Regístrese en cualquiera de estos servicios y obtenga una clave API (para Infura o Alchemy).
Paso 3: Fork de la red principal de Ethereum
Ahora puedes iniciar Ganache y bifurcar el mainnet de Ethereum utilizando tu URL de Infura o Alchemy.
ganache --fork https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY --chain.chainId 1337
Este comando lo hará:
- Fork the Ethereum mainnet.
- Usará el endpoint Infura especificado.
- Establecerá el ID de cadena de la bifurcación local en 1337 (puede ajustarlo según sea necesario).
Ahora puede interactuar con la bifurcación local de Ethereum como si estuviera conectado a la red real, incluyendo la interacción con los contratos y los saldos.
Paso 4: Utilizar Ganache GUI (Opcional)
Si prefieres una interfaz gráfica, también puedes descargar Ganache GUI desde el sitio web de Truffle. La versión GUI facilita la gestión de la configuración de la cadena de bloques, la visualización de cuentas y la exploración de transacciones en tiempo real.
Bifurcación de Ethereum con Hardhat
Hardhat es un entorno de desarrollo que también puede bifurcar la red Ethereum y permitir pruebas avanzadas e interacciones contractuales.
Paso 1: Instalar Hardhat
En primer lugar, es necesario crear un nuevo proyecto Hardhat o navegar a uno ya existente. Para crear un nuevo proyecto, ejecute
mkdir hardhat-project
cd hardhat-project
npm init -y
npm install --save-dev hardhat
npx hardhat
Siga los pasos de configuración y seleccione «Crear un proyecto de ejemplo» si está configurando desde cero.
Paso 2: Obtener una clave API de Infura o Alchemy
Al igual que con Ganache, necesitas una clave API de Infura o Alchemy para conectarte a la red principal de Ethereum.
Paso 3: Configurar Hardhat para bifurcar la red Ethereum
En el directorio de tu proyecto Hardhat, abre el archivo hardhat.config.js y configúralo para bifurcar Ethereum añadiendo el siguiente código:
require("@nomiclabs/hardhat-waffle");
module.exports = {
solidity: "0.8.17",
networks: {
hardhat: {
forking: {
url: `https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY`
}
}
}
};
Esta configuración le dice a Hardhat que bifurque la red Ethereum usando tu URL Infura.
Paso 4: Interactuar con la red bifurcada
Ahora puede ejecutar una bifurcación local de la red principal Ethereum utilizando el entorno integrado de Hardhat. Por ejemplo, puedes ejecutar un script Hardhat para desplegar contratos, interactuar con contratos en vivo, o simular transacciones en el estado bifurcado:
npx hardhat node
El nodo Hardhat ahora servirá una versión local bifurcada de Ethereum. Puedes interactuar con ella usando ethers.js, scripts Hardhat, o conectando un frontend (como Metamask) a http://localhost:8545.
Pruebas en la Blockchain bifurcada
Una vez que tengas tu fork local funcionando (ya sea con Ganache o Hardhat), puedes:
Probar contratos inteligentes: Desplegar y probar contratos en un entorno similar al real con datos reales.
Simular transacciones: Realizar transacciones utilizando cuentas y datos de la red real.
Manipular el estado de la cadena de bloques: Puedes alterar saldos, tiempos de bloque y más para simular varios escenarios.
Por ejemplo, con Hardhat, puede hacerse pasar por una cuenta y probar las interacciones de los contratos:
await hre.network.provider.request({
method: "hardhat_impersonateAccount",
params: ["0x1234567890abcdef1234567890abcdef12345678"]
});
const signer = await ethers.getSigner("0x1234567890abcdef1234567890abcdef12345678");
// Now you can interact with contracts as if you're this account
Notas adicionales
Saldos de cuentas: Tanto en Ganache como en Hardhat, puedes prefinanciar cuentas en la horquilla local con fines de prueba.
Tasas de gas: Como estás trabajando localmente, puedes simular transacciones sin tasas de gas reales, pero los cálculos de gas seguirán las mismas reglas que la red Ethereum.
Conclusión
La bifurcación de la cadena de bloques de Ethereum en su ordenador local proporciona una potente forma de desarrollar y probar con datos reales de la cadena de bloques, evitando los riesgos y costes de interactuar directamente con la red principal. Mediante el uso de herramientas como Ganache o Hardhat, puede crear un entorno de desarrollo local eficiente y robusto que imita la red Ethereum real.






Leave a Reply
Want to join the discussion?Feel free to contribute!