Saltar al contenido
0%

Qué es un nodo de Polygon: todo lo que necesitas saber

Alchemy team headshot

Escrito por Alchemy

Publicado el 27 de septiembre de 20227 min de lectura

Al igual que la red principal de Ethereum, Polygon, una solución de Layer-2, usa nodos para garantizar que todas las computadoras que participan en la red se comporten correctamente. Sin embargo, los nodos de Polygon tienen una arquitectura distinta, en la que se categorizan y delegan subsecciones de tareas de procesamiento a diferentes capas de nodos.

En este artículo, repasaremos los distintos tipos de nodos de Polygon, cómo crear y ejecutar un nodo de Polygon, y cómo los proveedores de nodos facilitan todo este proceso.

¿Qué es Polygon?

Polygon es una sidechain, una solución de escalabilidad de Ethereum, que reduce los costos de gas y mejora la escalabilidad al realizar tareas que requieren muchos recursos fuera de la blockchain principal de Ethereum, manteniendo la compatibilidad con la Máquina Virtual de Ethereum (EVM).

Anteriormente conocida como MATIC, Polygon cambió de nombre en 2017, pero mantuvo MATIC como su símbolo de ticker. Por lo tanto, Polygon y MATIC son lo mismo. La testnet actual de Polygon es Polygon Amoy, donde los desarrolladores pueden probar aplicaciones de Polygon sin usar fondos reales. La anterior testnet Mumbai quedó obsoleta.

¿Qué es un nodo de Polygon?

‍Los nodos de Polygon son computadoras que tienen una copia descargada de la blockchain de Polygon y participan en la red de Polygon, pero como Polygon tiene múltiples tipos de nodos (nodos Bor, nodos Heimdall, nodos completos, nodos Sentry y nodos validadores), cada nodo cumple un propósito distinto.

La red de Polygon se divide, en términos generales, en tres capas:

  1. La red principal de Ethereum: se usa para el Proof-of-Stake del contrato, los checkpoints y las recompensas
  2. La capa de nodos Heimdall: se usa para la validación
  3. La capa de nodos Bor: se usa para producir bloques

A continuación, nos centramos en los nodos Heimdall y Bor con más detalle, así como en cómo se pueden usar en conjunto para funciones más complejas.

¿Qué es un nodo bor?

Los nodos Bor son el tipo de nodo de Polygon más básico, y son responsables de agregar transacciones en bloques, que luego pueden ser analizados y utilizados por los nodos Heimdall. De esta forma, los nodos Bor actúan como una mitad de un esquema de rollup, que también agrega datos en formas más eficientes de procesar. Los productores de bloques se eligen aleatoriamente de un conjunto de nodos validadores.

¿Qué es un nodo heimdall?

Los nodos Heimdall validan todos los bloques Bor desde el checkpoint anterior, y luego agregan todos los bloques creados por los nodos Bor en un árbol de Merkle. Los nodos Heimdall también envían periódicamente el hash de la raíz de Merkle a la blockchain principal. Los checkpoints son sumamente importantes para el sistema de Polygon, ya que gestionan la aleatoriedad de los productores de bloques y la selección del conjunto de validadores para un span o conjunto de bloques determinado.

¿Qué es un nodo completo?

Un nodo completo es un nodo que valida por completo las transacciones y los bloques, y existe en dos tipos: 1) nodos completos con pruning y 2) nodos completos de archivo, también conocidos como nodos de archivo.

Un nodo completo con pruning descarta todos los estados de transacciones fallidas y solo retrocede un número determinado de bloques para ser más liviano. Los nodos de archivo son nodos completos que también guardan todos los estados históricos de la chain. En esencia, los nodos de archivo contienen los estados exactos de la chain desde su inicio hasta las transacciones más recientes.

Un problema con el que pueden encontrarse los nodos de archivo de Polygon es el límite de nodos de archivo, ya que la chain total se acerca a los 16TB de datos de estado. Por esto, se recomienda aumentar el almacenamiento del nodo, eliminar y resincronizar los nodos para limpiar datos desperdiciados, o usar un proveedor de nodos de Polygon.

¿Qué es un nodo sentry?

Un nodo sentry es un nodo completo que ejecuta tanto nodos Heimdall como Bor para descargar datos de otros nodos y transferir esos datos a nodos validadores seleccionados, teniendo además acceso a toda la red de Polygon. Los nodos sentry también aíslan a los validadores del público, y pueden proteger a los nodos validadores de vectores de ataque como los ataques de Denegación de Servicio Distribuido (DDOS), que pueden ralentizar o detener el rendimiento de las transacciones.

¿Qué es un validador de Polygon?

Un validador de Polygon es alguien que tiene un nodo validador en una máquina, un nodo sentry en otra máquina distinta, y MATIC en staking. Los validadores de Polygon se seleccionan aleatoriamente para validar transacciones en la capa Heimdall. Un nodo validador tiene una arquitectura similar a la de un nodo sentry, salvo que es el método por el cual se transmiten los datos hacia y desde el nodo sentry.

¿Qué es un proveedor de nodos de Polygon?

Los proveedores de nodos de Polygon son empresas que ofrecen a los desarrolladores endpoints de API de nodos de Polygon, para que las apps puedan enviar solicitudes y recibir payloads de la blockchain de Polygon sin tener que ejecutar su propio nodo de Polygon.

Si bien tener tu propio nodo completo de Polygon ofrece algunos beneficios, como la personalización del software cliente, los proveedores de nodos ofrecen beneficios significativos frente a los nodos individuales de Polygon en cuanto a estabilidad, velocidad y precisión de los datos. Preocuparse por el mantenimiento de los nodos requiere tiempo de ingeniería valioso, y los proveedores de nodos pueden resolver este problema común.

Para las apps, elegir el mejor proveedor de nodos de Polygon es una decisión importante al momento de construir pensando en la escala y la demanda de usuarios. Los factores más importantes desde una perspectiva de infraestructura son la escalabilidad, la precisión de los datos, los tipos de nodos (por ejemplo, completos, de archivo, etc.) y las blockchains soportadas (si planeas construir de forma multichain).

Desde la perspectiva del cliente, también es importante que los proveedores de nodos tengan buenos precios, un equipo de relaciones con desarrolladores útil, personal de soporte que responda rápido, y mejores herramientas para desarrolladores, como APIs y SDKs optimizados que se ajusten de manera efectiva a las necesidades de los desarrolladores de web3.

Cómo conectarse a un nodo de Polygon en Alchemy

Hay instrucciones completas disponibles sobre cómo conectarse a un nodo completo de Polygon usando Alchemy en la documentación oficial de Polygon, pero aquí tienes una explicación simplificada para empezar rápido.

1. Regístrate en Alchemy

Alchemy ofrece un nivel gratuito para sus servicios, y puedes crear una cuenta gratuita de Polygon en la plataforma para desarrolladores de Alchemy rápidamente para interactuar con la API de Alchemy para Polygon.

Panel de Alchemy al iniciar sesión
Panel de Alchemy al iniciar sesión

‍

  1. Crea tu aplicación de Polygon y genera una API key

Después de crear con éxito una cuenta de Alchemy, deberás generar una API key creando una app. Esto autentica las solicitudes hechas a la red principal de Polygon o a la testnet Polygon Amoy.

Para generar una nueva API key, navega a la pestaña "Apps" en la barra de navegación del dashboard de Alchemy y selecciona la subpestaña "Create App".

Después de completar los campos y seleccionar la testnet, haz clic en "Create app".

Tu nueva app debería aparecer en la tabla de abajo.

Tabla de Apps del panel de Alchemy mostrando la app de Polygon recién creada
La nueva app aparece en la tabla “Apps”

Para obtener tu URL de RPC personalizada de Polygon desde Alchemy, ve a tu app en el dashboard de Alchemy y haz clic en "View Key" en la esquina superior derecha.

Luego copia tu API key HTTPS de Alchemy y pégala en tu aplicación.

Nota: usa Alchemy Chain Connect para ver URLs de RPC públicas de Polygon de múltiples proveedores de infraestructura.

Opción “View Key” para configurar una URL de RPC de Polygon para un nodo
Opción “View Key” para configurar una URL de RPC de Polygon para un nodo

‍

Paso 3. Configura la API de Polygon y comienza a construir

Si usas JavaScript y Node.js, usa una librería estándar como ethers.js con el endpoint RPC de Polygon de Alchemy.

  1. Configura un proyecto con: npm init -y
  2. Instala ethers.js ejecutando el siguiente comando en tu terminal: npm install ethers.
  3. Configura ethers.js con tu endpoint: import { ethers } from "ethers"; const provider = new ethers.JsonRpcProvider("https://polygon-mainnet.g.alchemy.com/v2/<API_KEY>");

Para más detalles sobre el uso de las APIs de Alchemy, consulta la documentación de Alchemy.

Fragmento de código importando el SDK de Alchemy para un proyecto de nodo de Polygon
Importando el SDK para un proyecto de nodo de Polygon

Usar un proveedor de nodos de Polygon es fácil y escalable, y permite a desarrolladores de todos los niveles de habilidad empezar a construir en web3. ‍

Requisitos de un nodo de Polygon

Para ejecutar un nodo completo de Polygon, deben cumplirse ciertas especificaciones técnicas y requisitos de software previos. Los requisitos mínimos actuales son 16-32 GB de RAM y una CPU de 4-8 núcleos, con una unidad de almacenamiento expandible mínima de 1.2TB. Debido a que los nodos necesitan guardar cada vez más datos a medida que crece el historial de la chain, las especificaciones mínimas aumentarán en consecuencia.

Además, si bien Polygon señala que cualquier sistema operativo funcionará bien, destacan que se prefiere la seguridad y estabilidad de distribuciones de servidor Linux como CentOS por sobre MacOS y Windows.

Cómo configurar un nodo completo de Polygon

Si no quieres usar un proveedor de nodos de Polygon y prefieres configurar y mantener tu propio nodo de Polygon, aquí tienes un resumen de los pasos que deberás seguir.

1. Construye las máquinas para ejecutar tus nodos

Como se recomienda Linux, querrás usar una máquina que ejecute un servidor Linux que pueda alojar tu nodo. También puedes conectarte de forma remota a servidores Linux usando Secure Shell (SSH) en la línea de comandos. Revisa los requisitos de hardware y asegúrate de que tus máquinas tengan un almacenamiento mínimo bastante grande y suficiente capacidad de cómputo.

2. Descarga los prerrequisitos

En cuanto a los requisitos de software, Ansible debe descargarse en una máquina con Python 3.x, y puede descargarse con este comando: pip3 install ansible

Además, asegúrate de no tener Go ni configuraciones previas de Heimdall y Bor instaladas, ya que entrarán en conflicto con un proceso de instalación completamente nuevo.

3. Configura y ejecuta tu nodo

Todas las instrucciones provienen de la documentación oficial de Polygon para configurar y ejecutar un nodo completo. Los pasos se resumen a continuación:

  1. Asegura el acceso a la máquina remota/virtual, clona el repositorio indicado, y verifica su funcionamiento configurando las IPs
  2. Configura el nodo completo, ingresa a la máquina remota/virtual, y configura los nodos Heimdall y Bor
  3. Ejecuta el nodo completo y revisa los logs para ver si los nodos se sincronizaron correctamente

Empieza a construir en Polygon con Alchemy

Polygon es una sidechain de Ethereum de rápido crecimiento que ofrece a los desarrolladores una blockchain rápida, económica y escalable para construir aplicaciones compatibles con EVM. Polygon es la elección de algunas de las empresas web2 más grandes, como el nuevo programa de recompensas de lealtad de Starbucks, debido a su escala, su bajo costo y su baja huella de carbono.

¡Para empezar a construir en Polygon, crea hoy una cuenta de desarrollador gratuita de Polygon 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.