Saltar al contenido
0%

¿Cuál es el mejor nodo de Optimism? Público vs. privado vs. autoalojado

Alchemy team headshot

Escrito por Alchemy

Publicado el 6 de septiembre de 20226 min de lectura

Para obtener datos de Optimism, las dApps necesitan enviar solicitudes a través de nodos RPC. En este artículo, exploraremos los diferentes tipos de nodos disponibles para dar soporte al desarrollo web3 en Optimism.

¿Qué es Optimism?

Optimism es una solución de escalabilidad de capa 2 (L2) de Ethereum que aprovecha el poder de los rollups optimistas para permitir hasta 2,000 transacciones por segundo. Optimism diseña y mantiene su blockchain con un conjunto claro de valores de diseño fundamentales.

  1. Simplicidad
  2. Pragmatismo
  3. Sostenibilidad
  4. Optimismo

¿Qué es un rollup optimista?

Un rollup optimista utiliza la seguridad de Ethereum para mejorar el rendimiento y la latencia en la capa base de Ethereum, moviendo el cómputo y el almacenamiento de datos fuera de la cadena. Optimism crea un rollup de muchas transacciones realizadas en su cadena de capa 2, agrupándolas en una sola. Luego, el protocolo de rollup asume de forma optimista la validez de todas estas transacciones y envía el rollup a la cadena L1 de Ethereum.

¿Qué son los nodos de Optimism?

Un nodo de Optimism es un programa que se ejecuta en una computadora y permite a los builders y traders conectarse con el resto de la red blockchain de Optimism. Hay dos componentes principales involucrados en los nodos de Optimism: la Data Transport Layer y el Client Software.

Data transport layer (DTL)

La Data Transport Layer funciona como un enlace entre Optimism y Ethereum. Alojado en Ethereum hay un smart contract — el contrato CanonicalTransactionChain (CTC) — que contiene una lista de todos los bloques publicados en la blockchain de Optimism.

La DTL construye regularmente la blockchain de Optimism en un nodo, obteniendo los bloques previamente publicados en el CTC. Sin la DTL, los nodos de Optimism no podrían mantenerse actualizados con los bloques construidos por el rollup optimista de L2.

Client software

Junto a la Data Transport Layer se ejecuta el Optimism client software. El cliente de Optimism es casi idéntico a una versión estándar de Geth, o Go Ethereum, el cliente de Ethereum más utilizado. Por esto, internamente, Optimism es muy similar a Ethereum, lo que permite compartir el EVM, estructuras de contabilidad idénticas, medición de gas, y más.

Un gran beneficio de desarrollar en Optimism es que la mayoría de las herramientas que funcionan en Ethereum también funcionan en Optimism, con pocos o ningún cambio de código.

¿Por qué necesitas un nodo de Optimism?

Construir una aplicación en Optimism requiere publicar transacciones a través del rollup optimista, hacia el CTC. Además, los nodos de Optimism permiten a las apps obtener datos sobre los bloques de Optimism. Para dar soporte a una dApp de alto rendimiento en Optimism, un nodo que funcione bien es indispensable.

Tipos de nodos de Optimism

Existen varias opciones para conectar tu dApp a un nodo de Optimism, incluyendo nodos privados de Optimism, usar el endpoint RPC público de Optimism, o ejecutar tu propio nodo autoalojado.

La mayoría de los desarrolladores de Optimism usan un endpoint RPC privado de un proveedor de nodos de Optimism como Alchemy, ya que los endpoints públicos y los nodos autoalojados tienen numerosas desventajas, incluyendo menor throughput, mayores costos de configuración, y más mantenimiento de ingeniería requerido.

1. Nodos públicos de Optimism

Alchemy administra el endpoint público principal de Optimism y se puede acceder a él usando esta URL de endpoint: https://mainnet.optimism.io.

Aunque existe soporte para endpoints públicos, Optimism enfatiza que los endpoints RPC públicos no son en absoluto adecuados para uso en producción.

Los endpoints públicos de Optimism limitan la tasa de solicitudes de las aplicaciones (rate-limit), y con frecuencia solo soportan un conjunto limitado de métodos JSON-RPC.

2. Proveedor de nodo privado de Optimism

Si la falta de throughput del nodo público de Optimism está limitando tu aplicación o trading, un endpoint RPC privado de Optimism de un proveedor de nodos de Optimism dedicado le dará a los ingenieros acceso a nodos de Optimism confiables y escalables.

Alchemy es el proveedor de nodos recomendado por Optimism. Junto con el rendimiento de nodo de Optimism más confiable en web3, Alchemy ofrece a los desarrolladores de Optimism una variedad de herramientas de desarrollo, incluyendo Alchemy Build, Monitor, y Optimism webhooks, todas diseñadas para brindarte la mejor experiencia de desarrollo en Optimism.

Cómo empezar a usar un endpoint RPC privado de Optimism con Alchemy

Alchemy ofrece un plan gratuito robusto, que te permite comenzar con un endpoint RPC privado de Optimism confiable.

Para crear una nueva app de Optimism en Alchemy:

  1. Regístrate para crear una cuenta gratuita o inicia sesión en tu cuenta existente
  2. Haz clic en el botón "Create App" en la parte superior derecha del dashboard
Panel de la plataforma para desarrolladores de Alchemy.
Panel de la plataforma para desarrolladores de Alchemy.

Ahora completa los siguientes campos, incluyendo:

  1. El nombre de tu app
  2. Una descripción
  3. Elegir "Optimism" como tu "Chain"
  4. Seleccionar "Optimism Mainnet" como tu Network

Si quieres crear o migrar una aplicación en la testnet Goerli de Optimism, puedes elegir la testnet en el menú desplegable "Network".

Panel de Alchemy: creación de una app de Optimism para un endpoint RPC privado
Crea un endpoint RPC privado de Optimism con Alchemy.

Luego, haz clic en el botón "View Key" en el dashboard para ver tu clave HTTPS y comenzar a enviar solicitudes a tu nuevo nodo.

Copia la URL de tu endpoint RPC de Optimism desde el panel de aplicaciones de Alchemy.
Copia la URL de tu endpoint RPC de Optimism desde el panel de aplicaciones de Alchemy.

Ahora, reemplaza la URL RPC de Optimism en tu aplicación para comenzar a enviar tráfico a través de un endpoint dedicado de Optimism provisto por Alchemy.

3. Nodos de Optimism autoalojados

Para tener control total sobre la configuración e implementación de su nodo, los desarrolladores pueden optar por ejecutar sus propios nodos de Optimism (es decir, nodos autoalojados).

El primer paso al configurar un nodo de Optimism es decidir el hardware del nodo. Para esto, Optimism recomienda sistemas con:

  1. Al menos 16GB de RAM
  2. Un SSD (Solid State Drive) con al menos 100GB de espacio libre

Después de decidir el hardware, Optimism proporciona instrucciones para dos métodos de configurar tu nodo autoalojado: una configuración usando Docker, y una configuración sin Docker.

A continuación se resumen los dos enfoques para configurar un nodo de Optimism. Si decides configurar un nodo, sigue las instrucciones de configuración de nodo de Optimism.

1. Configuración con Docker

El método recomendado por Optimism para configurar un nodo autoalojado es usar las imágenes de Docker que proporcionan.

Al usar una imagen de Docker para la configuración de tu nodo, puedes omitir muchos pasos de configuración, ya que las imágenes ya incluyen la mayoría de los ajustes.

A continuación, una descripción general de alto nivel de los pasos usando una configuración con Docker:

  1. Clona el repositorio de GitHub del nodo en tu máquina
  2. Configura los ajustes del nodo
  3. Ejecuta tu nodo de Optimism autoalojado

Para el segundo paso, deberás proporcionar otros nodos adicionales: otro nodo L2 de Optimism y un nodo RPC L1.

El nodo L2 de Optimism secundario será usado por tu nodo de Optimism para verificar su corrección, y el nodo RPC de Ethereum (L1) se usa para revisar los state roots de tu nodo, y para descargar bloques L2 desde L1 a través del CTC (CanonicalTransactionChain).

Optimism recomienda que estos nodos de soporte provengan de proveedores de RPC.

Usando esta configuración con Docker, tu nodo se beneficiará de varias funciones adicionales que ayudan a mantenerlo.

¿Cómo funciona el servicio de healthcheck?

El servicio de healthcheck comparará regularmente el estado de tu nodo con el estado del nodo de referencia, confirmando que tu nodo se está sincronizando correctamente. Un detector de fallas escaneará las transacciones del sequencer de Optimism y comparará los resultados con las transacciones calculadas en tu nodo. Por último, un dashboard alojado localmente te dará acceso fácil a métricas básicas del nodo, incluyendo datos de fallas, sincronización de la DTL, y más.

2. Configuración sin Docker

Si las imágenes de Docker preconfiguradas no ofrecen suficiente personalización para ti, Optimism también describe el marco de trabajo para configurar un nodo de forma independiente. Sin embargo, no recomiendan configurar un nodo de esta manera.

Aunque estas instrucciones están probadas, no son tan robustas como la configuración con Docker. Este método conlleva el riesgo de configurar nodos que funcionen mal. A continuación, un resumen de las instrucciones.

  1. Instala los paquetes y herramientas necesarios para ejecutar un nodo de Optimism

Los paquetes y herramientas que necesitas instalar son:

  • Libusb - una librería que usa Geth para detectar hardware wallets
  • Node.js - un runtime de Javascript
  • Yarn - un gestor de paquetes popular para Node.js
  • Go - el lenguaje de programación
  1. Configura la Data Transport Layer

La DTL es la primera pieza del software de tu nodo. Aquí descargarás el código fuente, editarás su configuración, y ejecutarás la capa.

Al igual que con la configuración con Docker, aquí deberás proporcionar a tu nodo de Optimism autoalojado otro nodo para que pueda sincronizar sus bloques.

Una vez en ejecución, administra la DTL para asegurarte de que se sincronice correctamente con Optimism.

  1. Configura el cliente de Optimism

Configurar tu cliente de Optimism es el segundo componente de tu nodo autoalojado. Debes compilar el código fuente, descargar y verificar el estado desde el génesis de Optimism, crear y configurar su entorno, ejecutar la configuración y, finalmente, iniciar el cliente.

Ejecutar nodos autoalojados es una opción alternativa para desarrolladores web3 expertos que quieren más control sobre la configuración de su nodo de Optimism. Sin embargo, optar por lanzar y administrar un nodo autoalojado es más costoso y consume más tiempo que usar un proveedor de nodos y plataforma de desarrollo de Optimism como Alchemy.

¿Qué tipo de nodo de Optimism es mejor para mí?

En la mayoría de los casos, usar un endpoint privado de Optimism a través de Alchemy es la mejor opción. Los endpoints públicos de Optimism no deben usarse para tráfico de producción, y a menos que seas un ingeniero de infraestructura experto, no deberías administrar tu propio nodo de Optimism.

Incluso si eres un trader casual o usuario de dApps en Optimism, actualizar tu wallet de MetaMask con un endpoint dedicado de Optimism puede brindar un servicio más rápido y confiable.

Comienza hoy mismo con el plan gratuito de proveedor de nodos de Optimism más robusto del mercado, y aprovecha todo el potencial de tu dApp con Alchemy.

Background gradient

Construye magia blockchain

Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.