Ir al contenido principal
Change page

Redes de desarrollo

Última edición: @Hackedd.eth(opens in a new tab), 19 de enero de 2024

Cuando construyes una aplicación de Ethereum con contratos inteligentes, desearás ejecutar en una red local para ver cómo funciona antes de implementarla.

De forma similar a la ejecución de un servidor local en tu ordenador para realizar desarrollo web, puedes utilizar una red de desarrollo para crear una instancia local de blockchain para probar tu dapp. Estas redes de desarrollo de Ethereum proporcionan características que permiten una iteración mucho más rápida que una red de pruebas pública (p. ej., no es necesario tratar de adquirir ETH desde el regulador de una red de pruebas).

Requisitos previos

Sería interesante que comprendieras los conceptos básicos del bloque de Ethereum y las redes de Ethereum antes de sumergirte en la información sobre las redes de desarrollo.

¿Qué es una red de desarrollo?

Las redes de desarrollo son esencialmente clientes de Ethereum (implementaciones de Ethereum), que se han diseñado específicamente para el desarrollo local.

¿Por qué no basta con ejecutar localmente un nodo estándar de Ethereum?

Podría ejecutar un nodo, pero, dado a que las redes de desarrollo están diseñadas específicamente para el desarrollo, a menudo vienen repletas de funciones convenientes como:

  • Sembrar de forma determinista su cadena de bloques local con datos (p. ej., cuentas con saldos en ETH).
  • Producir bloques al instante con cada transacción que recibe, en orden y sin demora
  • Funcionalidad mejorada para depurar y registrar

Herramientas disponibles

Nota: La mayoría de los frameworks de desarrollo incluyen una red de desarrollo integrada. Te recomendamos comenzar con un framework para configurar tu entorno de desarrollo local.

Ganache

Rápidamente inicia una blockchain de Ethereum personal con el que puedes ejecutar pruebas y comandos, así como inspeccionar el estado mientras controlas el funcionamiento de la cadena.

Ganache proporciona una aplicación de escritorio (Ganache UI) y una herramientas de línea de comandos (ganache-cli). Forma parte del conjunto de herramientas Truffle.

Red de tipo Hardhat

Una red local de Ethereum diseñada para el desarrollo. Le permite implementar sus contratos, ejecutar sus pruebas y depurar su código.

La red de tipo Hardhat viene integrada con Hardhat, que es un entorno de desarrollo de Ethereum para profesionales.

Cadenas de baliza locales

Algunos clientes de consenso tienen herramientas integradas para implementar cadenas de baliza locales con fines de prueba. Las instrucciones para Lighthouse, Nimbus y Lodestar están disponibles:

Cadenas de prueba públicas de Ethereum

También hay dos implantaciones de prueba públicas mantenidas de Ethereum: Goerli y Sepolia. La red de prueba recomendada con soporte a largo plazo es Goerli, en la que cualquiera es libre de validar. Sepolia es una cadena más nueva y más pequeña que también se espera que se mantenga en el futuro próximo, con un conjunto de validadores autorizados (lo que significa que no hay acceso general a nuevos validadores en esta red de prueba). Se espera que la cadena Ropsten quede obsoleta en el cuarto trimestre de 2022 y que la cadena Rinkeby quede obsoleta en el segundo o tercer trimestre de 2023.

Paquete de Ethereum de Kurtosis

Kurtosis es un sistema de construcción para entornos de prueba de múltiples contenedores que permite a los desarrolladores levantar localmente instancias reproducibles de redes de cadena de bloques.

El paquete de Kurtosis de Ethereum crea una instancia local de una red de prueba de Ethereum contenedorizada y parametrizable, con soporte para múltiples clientes diferentes de capa de ejecución (EL) y capa de consenso (CL) y un número n de nodos. Kurtosis maneja con elegancia todas las asignaciones de puertos locales y las conexiones de servicio para facilitar la creación de prototipos y pruebas de dApp y contratos inteligentes.

Leer más

¿Conoce algún recurso de la comunidad que le haya servido de ayuda? Edite esta página y añádalo.

¿Le ha resultado útil este artículo?