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 fundamentales de diseño.

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

¿Qué es un rollup optimista?

Un rollup optimista usa la seguridad de Ethereum para mejorar el throughput y la latencia en la capa base de Ethereum, trasladando 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 corre en una sola computadora y que permite a 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 contacto entre Optimism y Ethereum. Alojado en Ethereum hay un contrato inteligente — 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, recuperando los bloques publicados previamente 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 corre el Optimism client software. El cliente de Optimism es casi idéntico a una versión vanilla 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 poco 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 que las apps recuperen 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

Hay varias opciones para conectar tu dApp a un nodo de Optimism, incluyendo nodos privados de Optimism, usar el endpoint RPC público de Optimism, y correr tu propio nodo autoalojado (self-hosted).

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

1. Nodos públicos de Optimism

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

Aunque hay 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 (rate-limit) de las aplicaciones, y a menudo solo soportan un conjunto limitado de métodos JSON-RPC.

2. Proveedor de nodos privados 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 les 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 nodos de Optimism más confiable de web3, Alchemy ofrece a los desarrolladores de Optimism una gama de herramientas de desarrollo, incluyendo Alchemy Build, Monitor, y webhooks de Optimism, todas diseñadas para darte la mejor experiencia de desarrollo en Optimism.

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

Alchemy ofrece un sólido plan gratuito, 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 del desarrollador de Alchemy.
Panel del desarrollador de Alchemy.

Ahora completa los siguientes campos, incluyendo:

  1. Nombrar tu app
  2. Escribir una descripción
  3. Elegir "Optimism" como tu "Chain"
  4. Seleccionar "Optimism Mainnet" como tu Network

Si quieres crear una aplicación en la testnet Sepolia 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 empezar a enviar solicitudes a tu nuevo nodo.

Copia la URL de tu endpoint RPC de Optimism desde el panel de la aplicación de Alchemy.
Copia la URL de tu endpoint RPC de Optimism desde el panel de la aplicación de Alchemy.

Ahora, reemplaza tu URL RPC de Optimism en tu aplicación para empezar a enviar tráfico a través de un endpoint dedicado de Optimism proporcionado 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 correr sus propios nodos de Optimism (es decir, nodos autoalojados).

El primer paso para configurar un nodo de Optimism es decidir el hardware de tu 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 configuración de tu nodo autoalojado: una configuración usando Docker, y una configuración sin Docker.

A continuación hay resúmenes de los dos enfoques para configurar un nodo de Optimism. Si decides configurar un nodo, sigue las instrucciones de configuración de nodos de Optimism.

1. Configuración con Docker

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

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

Aquí hay un resumen 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 paso dos, tendrás que 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 verificar 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 funcionalidades adicionales que te ayudarán 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 está sincronizando correctamente. Un fault detector 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á fácil acceso 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 preconfiguradas de Docker no te ofrecen suficiente personalización, 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 sólidas como la configuración con Docker. Este método conlleva el riesgo de configurar nodos que funcionen mal. A continuación hay un resumen de las instrucciones.

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

Los paquetes y herramientas que necesitas instalar son:

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

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

Como es el caso con la configuración con Docker, aquí necesitarás proporcionarle 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 esté sincronizando 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.

Correr 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 el 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 ocasional o usuario de dApps en Optimism, actualizar tu wallet de MetaMask con un endpoint dedicado de Optimism puede ofrecer un servicio más rápido y confiable.

Comienza hoy con el plan gratuito de proveedor de nodos de Optimism más sólido del mercado, y libera todo el poder 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.