Saltar al contenido
0%

¿Qué es un nodo RPC?

Alchemy team headshot

Escrito por Alchemy

Publicado el 11 de abril de 20259 min de lectura

Una aplicación descentralizada (app) requiere constantemente datos de la blockchain para completar solicitudes de usuario, como enviar transacciones, obtener datos de bloques o evaluar el estado de la blockchain. Los nodos habilitan esta función mediante Remote Procedure Calls (RPC), que conectan las apps a la blockchain. Los nodos RPC de blockchain permiten que las apps interactúen con la blockchain y accedan a los datos de los usuarios fácilmente.

En este artículo, veremos qué es un nodo RPC de blockchain y cómo funciona. Al final, tendrás un entendimiento sólido de los nodos RPC de blockchain, los endpoints RPC, y cómo usar un proveedor de nodos RPC.

¿Qué es un remote procedure call (rpc)?

Un Remote Procedure Call, o RPC, es un protocolo de comunicación de software liviano que permite que un programa (el cliente) se comunique con un programa remoto (el servidor) alojado en una red diferente, sin necesitar detalles sobre la red del servidor.

Por ejemplo, puedes usar un RPC desde tu computadora local para solicitar recursos de un sistema de servidor remoto. Una vez que el cliente hace una solicitud, esta le indica al servidor que ejecute un procedimiento, llamado subrutina.

En blockchain, una app requiere datos de la blockchain para funcionar correctamente. Por lo tanto, en el modelo cliente-servidor de RPC, la app es el cliente y el servidor es un nodo RPC.

¿Qué es un nodo RPC?

Un nodo RPC es una computadora que ejecuta software cliente de blockchain — por ejemplo, un servidor que ejecuta tanto infraestructura de Execution Layer (EL) como de Consensus Layer (CL) para la blockchain de Ethereum.

Existen múltiples tipos de nodos de Ethereum, incluyendo light nodes, full nodes y archival nodes. En cambio, en Solana, los desarrolladores pueden ejecutar tanto nodos validadores como nodos RPC. Mientras que los nodos validadores ejecutan el protocolo de consenso de Solana y ganan recompensas por la validación de bloques, los nodos RPC de Solana simplemente sirven como una puerta de enlace para que una app de Solana obtenga información de la blockchain.

Para efectos de este artículo, consideraremos como nodo RPC a cualquier nodo con la capacidad de responder a solicitudes RPC.

¿Qué es un endpoint RPC?

Un endpoint RPC es la ubicación de red a la que un programa envía sus solicitudes RPC para acceder a los datos del servidor. Por ejemplo, después de conectar tu app a un endpoint RPC de Ethereum, puedes realizar fácilmente operaciones que hagan uso de datos de la blockchain en tiempo real.

Un nodo con el software adecuado instalado tendrá la capacidad de responder a solicitudes RPC. Un endpoint RPC que se ejecuta en un nodo se refiere al servicio a través del cual tu app obtendrá información de la blockchain para sus usuarios. Por lo tanto, todos los endpoints RPC se ejecutan en nodos RPC, y todos los nodos RPC son nodos con endpoints RPC. Así, usaremos los términos nodo RPC y endpoint RPC de manera intercambiable.

¿Cuáles son los diferentes tipos de endpoints RPC?

Los endpoints RPC de los nodos se categorizan en dos ofertas de infraestructura principales: públicos y privados. Los endpoints RPC alternativos respaldan a estos dos, ayudando a las apps a mantener copias de seguridad tolerantes a fallos para sus endpoints RPC.

1. Endpoint RPC público

Los endpoints RPC públicos son recursos compartidos y con límite de tasa que se ejecutan en nodos RPC disponibles para que cualquier persona haga solicitudes. Las blockchains ofrecen endpoints RPC públicos porque permiten que cualquiera envíe y reciba datos de la blockchain (por ejemplo, realizar una transacción).

Los endpoints públicos son gratuitos y están listos para usarse en cualquier momento, y como no están pensados para dar soporte a aplicaciones de nivel de producción, suelen tener límite de tasa. Además, los endpoints RPC públicos no cuentan con soporte al cliente, carecen de infraestructura de desarrollo activa, y no escalan a las demandas de ejecutar apps.

2. Endpoint RPC privado

Los endpoints RPC privados son aquellos que operan para atender únicamente las necesidades de tu app, evitando la congestión de solicitudes generada por otros programas y beneficiándose de un servicio RPC rápido y consistente.

Los nodos RPC privados se ejecutan a tu solicitud. Además, si usas un proveedor de nodos, los endpoints RPC privados suelen mantener acuerdos de nivel de servicio (SLA) explícitos, que garantizan un servicio de alto rendimiento para tu app cuando lo necesites.

Por ejemplo, Alchemy ofrece nodos RPC gratuitos de Optimism, nodos RPC gratuitos de Base, nodos RPC gratuitos de Monad, y nodos RPC gratuitos para más de 40 chains.

3. Endpoint RPC alternativo

Si tus endpoints RPC experimentan tiempo de inactividad, un endpoint RPC alternativo actúa como endpoint de respaldo que ayuda a tu app a mantener una experiencia de usuario fluida.

Sin un endpoint RPC alternativo disponible, si tu endpoint RPC principal falla, también fallarán todas las transacciones de tus usuarios. Construir una app con un endpoint RPC alternativo es una buena práctica para garantizar que no exista un único punto de falla.

¿Cómo funcionan los nodos RPC?

Los nodos RPC funcionan conectando una app a toda la información de la blockchain. Cuando un programa inicia una subrutina, un nodo RPC puede recuperar las solicitudes necesarias a través de la blockchain y enviar su payload de vuelta a la app.

En esta sección, explicaremos brevemente la tecnología detrás de las solicitudes RPC de blockchain.

El protocolo JSON-RPC

La especificación RPC estándar usada en blockchains se llama JSON-RPC. Se destaca por su capacidad de recibir y procesar solicitudes de datos rápidamente.

Recordando el modelo cliente-servidor, tu app es el cliente, tu endpoint RPC es el servidor, y JSON-RPC son los métodos específicos mediante los cuales solicitas servicios al endpoint RPC.

Usando los métodos descritos en la API JSON-RPC de cada blockchain, puedes solicitar prácticamente cualquier tipo de dato de blockchain que tu app pueda necesitar.

Como ejemplo de la diversidad de métodos JSON-RPC, Ethereum define un conjunto de métodos centrales que obtienen datos de la red de Ethereum. Estos métodos se dividen en tres categorías: métodos gossip, métodos de estado, y métodos de historial.

  1. Métodos gossip - rastrean la cabeza de la blockchain y se usan para encontrar bloques
  2. Métodos de estado - devuelven reportes sobre el estado actual de todos los datos de la blockchain
  3. Métodos de historial - recuperan registros históricos de cualquier bloque de la cadena

Cada vez que una acción del usuario depende de datos de la blockchain, la aplicación (cliente) usará métodos JSON-RPC para hacer llamadas (subrutinas) a través del nodo RPC (servidor), que devolverá información para ser usada por la aplicación.

Cómo acceder a nodos RPC

Existen tres formas principales para que los desarrolladores accedan a nodos RPC: usar un endpoint RPC privado de un proveedor de nodos RPC, ejecutar su propio nodo (es decir, un nodo autoalojado), o enviar tráfico a través de un nodo RPC público.

1. Usar un proveedor de nodos RPC

Los proveedores de nodos RPC se encargan de toda la configuración, gestión y mantenimiento de nodos para tu app y aseguran que funcione correctamente, y es la mejor práctica para construir onchain.

Por lo tanto, al elegir un proveedor de infraestructura de nodos de blockchain, toda la responsabilidad de configuración y mantenimiento de nodos se libera del desarrollador. Los principales proveedores de nodos de blockchain tienen estas funciones integradas de forma nativa, ahorrando tiempo y energía a los desarrolladores para que se enfoquen en construir productos innovadores para el usuario final.

Los proveedores de nodos están disponibles para la mayoría de las principales blockchains, como Ethereum

Cómo empezar a usar la infraestructura de nodos RPC de alchemy

Alchemy ofrece endpoints RPC en más de 40 chains, incluyendo Ethereum, Solana, Monad, Base y Arbitrum. Puedes comenzar con un nodo RPC de Alchemy de alto rendimiento en solo unos clics.

  1. Crea una cuenta de Alchemy.

  2. Crea tu primera app usando el botón Create App en el dashboard.

dashboard > create an app
  1. Nombra tu app y elige tu caso de uso
Panel de Alchemy: nombrar una nueva app y seleccionar un caso de uso
  1. Selecciona la blockchain y la red deseadas.
Configuración de app en Alchemy: selección de blockchain y network deseadas
  1. Usa el botón "View Key" en el dashboard y copia la URL de tu nuevo nodo para comenzar a enviarle solicitudes RPC
Alchemy dashboard: using the View Key button to copy the RPC node URL

Cómo ejecutar tu propio nodo RPC

Si bien existen beneficios y desventajas de ejecutar tu propio nodo, es una opción para desarrolladores técnicos y equipos de web3 que necesitan control total sobre cómo se configura su nodo. Aquí describiremos, a un nivel general, los pasos para iniciar tu propio nodo en la blockchain de Ethereum.

1. Elige la configuración de tu nodo RPC

Los nodos de Ethereum están compuestos por tres elementos: implementación de cliente (por ejemplo, cliente de consenso y cliente de ejecución), hardware y entornos de sistema, y configuraciones. Repasemos esto a un nivel general.

Implementación de cliente

Esto implica elegir el software cliente de nodo para tu execution layer (EL) y para tu consensus layer (CL). Los EL incluyen clientes de nodo como Besu, Erigon, y Geth. Los clientes de Consensus Layer incluyen a Lighthouse, Teku, y Lodestar.

Hardware y entornos de sistema

Necesitas instalar tu software cliente en hardware capaz de ejecutar los clientes. Tus necesidades de hardware variarán según los clientes que elijas y la blockchain en la que estés construyendo. Por ejemplo, ejecutar nodos de Solana requiere requisitos de hardware más altos que Ethereum. Para ver las especificaciones de hardware, consulta la documentación de la blockchain.

Los desarrolladores pueden elegir armar sus propias máquinas, o comprar hardware de un proveedor de sistemas de hardware diseñados específicamente para ejecutar nodos. La máquina de nodo general más económica de un proveedor de hardware líder en la industria, dAppNode, cuesta más de $1,500.

Configuraciones de cliente

Uno de los principales beneficios de ejecutar tu propio nodo es el nivel de personalización. Puedes configurar fácilmente el nodo durante la instalación según tus requisitos de hardware y software, y cualquier solicitud específica del cliente.

2. Levantar un nodo RPC

Una vez que hayas tomado todas tus decisiones de hardware y software, es momento de iniciar tu nodo. Puedes elegir un servicio de configuración guiada, que te dará una interfaz de usuario (UI) amigable para tomar las decisiones de configuración del cliente, o configurar el nodo manualmente usando una Command Line Interface (CLI).

Los pasos generales son:

  1. Instalar ambas piezas de software cliente (EL y CL)
  2. Iniciar ambos clientes, completando las configuraciones que decidiste

Después, tu nodo se sincronizará con la blockchain. Dependiendo de la velocidad de tu hardware y del tamaño del estado histórico de la blockchain, esto puede tomar desde unos días hasta varias semanas.

El extenso proceso de sincronización es una de las desventajas de ejecutar tu propio nodo. Si necesitas más capacidad, puede tomar días o semanas levantar un nuevo nodo, mientras que un proveedor de nodos puede ofrecer capacidad adicional bajo demanda.

3. Mantener tu nodo RPC

Los costos de mantenimiento son otra desventaja de ejecutar tu propio nodo. Los nodos son intermitentes y pueden caerse, desincronizarse y fallar por varias razones. Además, el software de execution layer y consensus layer se actualizará constantemente por parte de los desarrolladores del software cliente de nodo.

¿Por qué un proveedor de nodos RPC es mejor que ejecutar tu propio nodo RPC?

Además de ahorrarte tiempo y recursos dedicados a la gestión de nodos, los proveedores de nodos pueden garantizar acceso a nodos confiable, de baja latencia y disponible las 24 horas. Tu nodo será atendido por un equipo experimentado dedicado exclusivamente al alto rendimiento de tu nodo RPC.

Decidir ejecutar tu propio nodo es una gran opción si buscas niveles extremadamente altos de personalización, pero no para una experiencia de desarrollo fluida y sin complicaciones.

Build vs. Buy: Blockchain Infrastructure ebook cover
Guía gratuita

Build vs. Buy: infraestructura blockchain

Antes de contratar un equipo de infraestructura, lee esto: construirla internamente puede costar entre $850K y $1M+ al año antes de atender una sola solicitud en producción. Consulta el desglose completo de costos.

Descargar la guía

Cómo enviar tráfico a través de un nodo público

Dependiendo de la blockchain que estés usando, puedes enviar solicitudes consultando la documentación de tu red para conocer las ofertas de endpoints RPC públicos y enrutando el tráfico a través de esa URL. Algunas blockchains, como Solana, ofrecen acceso a un número limitado de nodos RPC públicos.

A continuación, un ejemplo de una solicitud curl hecha usando un nodo RPC público de Solana.

text
Copied
curl /* Solana public RPC endpoint URL here */ -X POST -H "Content-Type: application/json" -d' { "jsonrpc": "2.0", "id": 1, "method": "getBalance", "params": ["83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"] }

Ten en cuenta, sin embargo, que tus solicitudes tendrán límite de tasa en los endpoints públicos, y no es una práctica recomendada para desarrolladores.

Comienza a construir con los nodos RPC gratuitos de Alchemy

Existen tres formas de conectarse a nodos RPC: usar un proveedor de nodos como Alchemy, ejecutar tus propios nodos, y enviar tráfico a través de nodos públicos. Dado que ejecutar tu propio nodo requiere mucha sobrecarga innecesaria, y los nodos públicos tienen un límite de tasa considerable, aprovechar el amplio nivel gratuito de nodos RPC de Alchemy es la mejor opción para construir onchain.

¿Listo para empezar a usar nodos RPC administrados y hacer que tu experiencia de desarrollo sea más fluida?

Regístrate en Alchemy y comienza con un nodo RPC gratuito.

Preguntas frecuentes

¿Qué es un nodo RPC?

Un nodo RPC es una computadora que ejecuta software cliente de blockchain que permite que las aplicaciones interactúen con la blockchain mediante Remote Procedure Calls (RPC).

¿Cómo funcionan los nodos RPC?

Los nodos RPC funcionan conectando las apps a la información de la blockchain, recibiendo solicitudes de las aplicaciones, procesándolas al interactuar con la blockchain, y devolviendo resultados usando el protocolo JSON-RPC.

¿Cuáles son los diferentes tipos de endpoints RPC?

Existen tres tipos principales: endpoints RPC públicos (recursos compartidos y con límite de tasa), endpoints RPC privados (dedicados a las necesidades de tu app), y endpoints RPC alternativos (endpoints de respaldo para tolerancia a fallos).

¿Cuál es la diferencia entre ejecutar tu propio nodo RPC y usar un proveedor de nodos?

Ejecutar tu propio nodo requiere una inversión importante en hardware, mantenimiento y tiempo de sincronización, mientras que los proveedores de nodos RPC como Alchemy se encargan de toda la configuración, gestión y mantenimiento, ofreciendo acceso confiable las 24 horas con una mejor experiencia de desarrollo.

¿Qué es el protocolo JSON-RPC?

JSON-RPC es la especificación RPC estándar usada en blockchains que permite la recuperación rápida de datos mediante métodos como los métodos gossip (encontrar bloques), métodos de estado (estado actual de la blockchain), y métodos de historial (registros históricos).

¿Qué blockchains admiten nodos RPC?

Los nodos RPC son compatibles con múltiples blockchains, incluyendo Ethereum (con execution layer y consensus layer), Solana, Base, Arbitrum, Optimism, y muchas otras, con Alchemy dando soporte a más de 40 chains.

¿Por qué son importantes los endpoints RPC para los desarrolladores?

Los endpoints RPC proporcionan acceso esencial como puerta de enlace para que las apps recuperen datos de la blockchain, envíen transacciones e interactúen con contratos inteligentes sin necesidad de que los desarrolladores ejecuten sus propios full nodes.

¿Cómo puedo empezar a usar nodos RPC?

Puedes crear una cuenta de Alchemy, configurar tu primera app desde el dashboard, seleccionar la blockchain y la red deseadas, y comenzar a hacer solicitudes RPC usando la URL del endpoint proporcionado.

Background gradient

Construye magia blockchain

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