Skip to main content

Qué es RPC

Nota: Este documento es una traducción automática del original en inglés.

Qué es RPC

RPC (Remote Procedure Call, llamada a procedimiento remoto) es un protocolo de comunicación que permite a una aplicación solicitar un servicio de un programa que se ejecuta en otra computadora sin necesidad de entender los detalles de la red de esa computadora. En el contexto blockchain, RPC es la forma en que las wallets, las aplicaciones descentralizadas, los exploradores de bloques y otro software se comunican con los nodos de la blockchain — enviando transacciones, consultando saldos, leyendo el estado de los contratos inteligentes y recuperando datos de bloques.

En resumen: RPC es la interfaz estándar a través de la cual las aplicaciones se comunican con los nodos de la blockchain — es la capa de comunicación que conecta las dApps, las wallets y las herramientas con la propia red blockchain.

Cómo funciona RPC en blockchain

Cada nodo de blockchain expone un endpoint RPC — una URL que acepta solicitudes estructuradas y devuelve respuestas estructuradas. Cuando una aplicación necesita interactuar con la blockchain, envía una solicitud RPC a este endpoint.

Patrón de solicitud-respuesta

La interacción sigue un patrón cliente-servidor estándar:

  1. Solicitud. La aplicación (cliente) envía una solicitud al endpoint RPC del nodo. La solicitud especifica qué método llamar y proporciona los parámetros necesarios. Por ejemplo: "obtener el saldo de la dirección 0x742d...bD38" o "enviar esta transacción firmada a la red".
  2. Procesamiento. El nodo recibe la solicitud, realiza la operación solicitada — leyendo de su copia local de la blockchain o difundiendo una transacción a la red — y prepara una respuesta.
  3. Respuesta. El nodo devuelve el resultado a la aplicación en un formato estructurado (normalmente JSON).

JSON-RPC

La mayoría de las redes blockchain usan JSON-RPC — un protocolo ligero en el que las solicitudes y las respuestas se formatean como objetos JSON. Una solicitud JSON-RPC típica incluye un nombre de método (como eth_getBalance, eth_sendRawTransaction o eth_call) y un arreglo de parámetros. La respuesta contiene el resultado o un mensaje de error.

Este formato estandarizado significa que cualquier aplicación que entienda JSON-RPC puede interactuar con cualquier nodo que implemente los mismos métodos, independientemente del lenguaje de programación o framework utilizado en cada lado.

Operaciones RPC comunes

Los endpoints RPC de blockchain normalmente soportan operaciones como:

  • Lectura de estado — consultar saldos de cuentas, tenencias de tokens, almacenamiento de contratos inteligentes y el número de bloque actual.
  • Envío de transacciones — difundir transacciones firmadas a la red para su inclusión en un bloque.
  • Llamada a contratos inteligentes — ejecutar funciones de solo lectura de contratos inteligentes sin crear una transacción (sin costo de gas).
  • Suscripción a eventos — escuchar eventos on-chain específicos como transferencias de tokens, despliegues de contratos o nuevos bloques.
  • Recuperación de historial — obtener transacciones pasadas, registros (logs) y datos de bloques.

Proveedores de RPC

Ejecutar un nodo completo de blockchain requiere un almacenamiento, ancho de banda y mantenimiento significativos. Muchos desarrolladores y aplicaciones usan proveedores de RPC — servicios de terceros que operan infraestructura de nodos y exponen endpoints RPC para uso público o de pago. Estos proveedores ofrecen acceso fiable y de alta disponibilidad a los datos de la blockchain sin que cada aplicación tenga que ejecutar su propio nodo.

Los proveedores de RPC populares atienden miles de millones de solicitudes diarias a través de múltiples redes blockchain, funcionando como la columna vertebral del ecosistema de dApps.

Por qué importa para los proyectos cripto de IA

RPC es la capa de comunicación de la que depende cada proyecto de IA basado en blockchain, aunque no siempre sea visible para los usuarios finales.

Interacción con contratos inteligentes. Los proyectos de IA que despliegan contratos inteligentes necesitan RPC para leer el estado del contrato, desencadenar funciones y enviar transacciones. Ya sea que un proyecto esté distribuyendo tareas de cómputo, registrando resultados de inferencia o gestionando staking, cada interacción on-chain pasa a través de un endpoint RPC.

Ingesta de datos. Los sistemas de IA que analizan la actividad on-chain — patrones de trading, comportamientos de wallets, métricas de protocolos — dependen de llamadas RPC para ingerir datos de la blockchain. La velocidad y fiabilidad del acceso RPC afecta directamente la calidad y oportunidad de las analíticas de IA.

Dependencia de infraestructura. Para los proyectos de IA que operan redes de nodos descentralizadas, la capa RPC es la forma en que los usuarios externos acceden al servicio. Un mercado de cómputo descentralizado expone endpoints RPC para el envío de tareas; una red de inferencia de IA usa RPC para la entrega de resultados. La fiabilidad de estos endpoints determina la experiencia del usuario.

Dónde aparece esto en las fichas de proyecto de DecAIHub

RPC no figura como un campo independiente en las fichas de proyecto, pero sustenta varios aspectos de la arquitectura de un proyecto:

  • Main chain — cada main chain tiene su propia especificación de RPC. La elección de la cadena determina qué métodos RPC están disponibles y cómo interactúan las aplicaciones con la red.
  • Type — los proyectos que proporcionan infraestructura RPC como servicio (proveedores de nodos, gateways de API) pueden clasificarse según su rol de infraestructura.
  • Interacción de dApp y contratos inteligentes — cualquier proyecto con contratos inteligentes on-chain depende de RPC para todas las interacciones externas con esos contratos.

Lo que RPC por sí solo no demuestra

  • Descentralización — usar un proveedor de RPC centralizado significa que la aplicación depende de un único punto de fallo. Si el proveedor cae o censura solicitudes, la aplicación pierde el acceso a la blockchain. Operar a través de un gateway RPC centralizado no hace que una aplicación sea descentralizada.
  • Seguridad — los endpoints RPC pueden ser públicos o privados, con límite de tasa o abiertos. Un endpoint RPC público no proporciona garantías de seguridad de forma inherente. Las aplicaciones que envían transacciones sensibles deben asegurarse de utilizar endpoints de confianza y autenticados.
  • Ejecución on-chain — enviar una solicitud RPC no significa que la operación ocurra on-chain. Las llamadas de solo lectura (eth_call) se ejecutan localmente en el nodo sin crear una transacción. Solo las transacciones firmadas enviadas a través de RPC modifican realmente el estado de la blockchain.
  • Rendimiento — los tiempos de respuesta de RPC dependen del hardware del nodo, las condiciones de la red y la infraestructura del proveedor. Una conexión RPC lenta no indica una blockchain lenta; puede indicar un nodo sobrecargado o geográficamente distante.

No confundir con

  • API — RPC es un tipo de API, pero no todas las APIs son RPC. Las APIs REST, los endpoints GraphQL y las interfaces WebSocket son patrones de comunicación alternativos. En blockchain, "RPC" se refiere específicamente a la interfaz JSON-RPC expuesta por los nodos.
  • Nodo — un nodo es la computadora real que ejecuta el software de blockchain. RPC es la interfaz a través de la cual las aplicaciones externas se comunican con ese nodo. El nodo hace el trabajo; RPC es la puerta.
  • SDK / Librería — las librerías como Web3.js, Ethers.js o Web3.py simplifican las interacciones RPC envolviendo las llamadas JSON-RPC sin procesar en funciones amigables para los desarrolladores. La librería es una capa de conveniencia; RPC es el protocolo subyacente.
  • Oráculo — un oráculo lleva datos off-chain a la blockchain. RPC es la forma en que las aplicaciones leen y escriben datos on-chain. Cumplen roles diferentes: los oráculos introducen datos externos, mientras que RPC proporciona acceso a datos que ya están on-chain.

Preguntas frecuentes

¿Necesito ejecutar mi propio nodo para usar RPC?

No. La mayoría de los desarrolladores y aplicaciones usan proveedores de RPC de terceros que operan infraestructura de nodos como servicio. Estos proveedores ofrecen endpoints RPC accesibles mediante conexiones HTTP o WebSocket estándar. Ejecutar tu propio nodo te da control total y elimina la dependencia de un tercero, pero requiere recursos significativos. Para la mayoría de los casos de uso, un proveedor de RPC de buena reputación es suficiente.

¿Qué pasa si un proveedor de RPC cae?

Si el proveedor de RPC que usa tu aplicación cae, la aplicación pierde su conexión con la blockchain. No puede leer el estado, enviar transacciones ni recibir notificaciones de eventos hasta que se restablezca la conexión o la aplicación cambie a un endpoint alternativo. Por esta razón, las aplicaciones en producción a menudo configuran múltiples endpoints RPC de respaldo de diferentes proveedores.

¿Es RPC lo mismo que el acceso a la blockchain?

RPC es el método más común de acceso a la blockchain, pero no es el único. Algunas aplicaciones usan protocolos alternativos como indexadores basados en GraphQL o conexiones peer-to-peer directas. Sin embargo, JSON-RPC sigue siendo la interfaz estándar para la interacción de propósito general con la blockchain, y prácticamente todas las wallets, dApps y herramientas de blockchain lo usan en segundo plano.

Referencias externas

Véase también