NUEVO: Helius adquiere Light Protocol
cómo funcionan los RPCs de Solana
Blog/Fundamentos

Todo lo que necesitas saber sobre los RPCs de Solana (2023)

Cofundador y CEOMert Mumtaz en XMert Mumtaz en LinkedIn
5 min de lectura

Introducción

Los RPCs son una parte esencial de la interacción entre las aplicaciones descentralizadas y las redes de cadenas de bloques. Por eso, son un tema imprescindible para cualquiera que se adentre en este espacio que evoluciona con rapidez. Ya sea que te enfoques en Solana o en otras plataformas de cadenas de bloques, esta guía te dará información esencial sobre la función de los RPCs en entornos tradicionales y de cadenas de bloques.

Significado de RPC: ¿qué quiere decir RPC?

En el mundo de las criptomonedas, todos los datos que necesitas están en la cadena. Son completamente abiertos y no requieren permisos para que cualquiera pueda consultarlos y trabajar con ellos. Entonces, ¿cómo los obtienes? Con RPCs.

Aunque técnicamente RPC significa llamadas a procedimientos remotos, RPCs suele usarse como abreviatura de nodos RPC. Estos nodos participan en la red de la cadena de bloques y exponen métodos, llamados llamadas a procedimientos remotos, que los desarrolladores pueden invocar.

RPCs frente a APIs

En el desarrollo de software tradicional (web2), normalmente obtienes los datos que necesitas mediante APIs. Puedes usar las APIs de Stripe para trabajar con datos de pagos, Twilio para datos de SMS, Bloomberg para datos financieros, Plaid para datos bancarios, etc.

Lo interesante es que los datos que buscas suelen estar acaparados o controlados por entidades centralizadas.

Aquí es donde entran en juego los RPCs. Permiten recibir datos sin permisos de forma eficiente y sin necesitar un proveedor externo. Son datos obtenidos directamente mediante una llamada al libro mayor.

RPCs convencionales frente a RPCs de cadenas de bloques y criptomonedas

Tanto en entornos tradicionales como de cadenas de bloques, los RPCs sirven para obtener datos, pero las similitudes suelen terminar ahí. Los RPCs tradicionales operan mediante distintos protocolos e interactúan con bases de datos centralizadas, por lo que debes confiar en una sola entidad para garantizar la integridad de los datos. En cambio, los RPCs de cadenas de bloques suelen usar HTTP con JSON-RPC, obtienen datos de redes descentralizadas y ofrecen mayor seguridad mediante la verificación de datos entre varios nodos. Mientras que los RPCs tradicionales pueden restringir el acceso a los datos, los RPCs de cadenas de bloques suelen ofrecer datos abiertos y públicos. Además, los RPCs de cadenas de bloques, especialmente en redes como Solana, están optimizados para ofrecer velocidad y rendimiento a fin de satisfacer las exigencias en tiempo real de las aplicaciones descentralizadas. Comprender estas diferencias clave te ayudará a interactuar con los RPCs en el ecosistema de cadenas de bloques.

RPCs de Solana

RPCs de la red principal de Solana

Para obtener datos del clúster Mainnet Beta de la cadena de bloques Solana, debes enviar una solicitud JSON-RPC a un nodo RPC que participe en la red.

Una solicitud JSON-RPC típica podría verse así:

Código
curl  -X POST -H "Content-Type: application/json" -d '  { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }

Esta solicitud pide al nodo RPC ubicado en https://api.mainnet-beta.solana.com que ejecute el método RPC getBlock. El nodo sabe qué hacer al recibir esta solicitud porque ejecuta el cliente de software de la cadena de bloques Solana.

En la práctica, casi nadie trabaja directamente con solicitudes JSON-RPC de este tipo, aunque es posible hacerlo. La mayoría de los desarrolladores prefiere trabajar con clientes RPC. El más utilizado es la biblioteca Solana Web3 JS, que puedes encontrar aquí. Para consultar la lista completa de métodos JSON RPC disponibles en Solana, revisa la documentación oficial.

RPCs de Solana Devnet

También puedes acceder al clúster Devnet de Solana mediante un RPC de Devnet. Solana proporciona uno con fines de prueba, disponible en https://api.devnet.solana.com.

Nuestra solicitud RPC se vería así:

Código
 curl [<https://api.devnet.solana.com>](<https://api.devnet.solana.com/>) -X POST -H "Content-Type: application/json" -d '  { "jsonrpc": "2.0","id":1,"method":"getBlock", "params": [430, { "encoding": "json", "maxSupportedTransactionVersion":0, "transactionDetails":"full", "rewards":false } ] }

Lo único que cambia es el clúster en el que se encuentra. Es posible que debas cambiar la cuenta que consultas si no hay transacciones o información asociada a ella en Devnet. Esto se debe a que el clúster Devnet no comparte el historial de Mainnet Beta.

RPCs de Ethereum frente a RPCs de Solana

Para funcionar, Solana necesita una red distribuida de nodos que ejecuten sus clientes de software.

Estos nodos pueden dividirse en dos tipos: validadores y RPCs.

Ambos tipos de nodos tienen algo importante en común: supervisan continuamente la cadena de bloques y almacenan sus datos más recientes, o estado.

Sin embargo, hay una diferencia clave entre ellos.

Los validadores son nodos que votan (por ejemplo: «sí, este bloque es válido») y participan en el consenso.

Los RPCs son nodos que no votan, sino que gestionan solicitudes para trabajar con datos en la cadena. Ten en cuenta que esta configuración no es habitual en otras cadenas de bloques, como Ethereum, donde los nodos validadores y RPC suelen ser los mismos.

Cuando haces una llamada RPC, invocas un procedimiento o una función en un nodo que participa en la cadena de bloques. Como participa en la red, conoce los datos más recientes y puede proporcionártelos cuando los solicitas.

Helius: empresa de RPCs de Solana

Helius ofrece acceso RPC de alta gama con numerosas ventajas para los desarrolladores de Solana.

Los RPCs de Helius funcionan con hardware de la más alta gama, lo que garantiza que tu aplicación ofrezca el máximo rendimiento de forma confiable y sin complicaciones. Nos enorgullece brindar el mejor soporte para desarrolladores del ecosistema, disponible las 24 horas, todos los días. Si tu sistema presenta un problema inesperado o tienes alguna pregunta sobre una próxima función, estaremos disponibles para ayudarte de inmediato.

RPCs de Solana: cómo comenzar con Helius

Los RPCs son extremadamente importantes: sin ellos, literalmente no puedes trabajar con la cadena de bloques. Por eso, hay empresas especializadas en perfeccionar la experiencia RPC. Estas máquinas se utilizan de forma intensiva y es fundamental que funcionen bien bajo cargas elevadas. Un buen proveedor de RPC debe ser confiable, ofrecer un rendimiento constante y proporcionar métricas para que los usuarios finales puedan consultar sus patrones de uso a lo largo del tiempo.

En Helius, somos ingenieros especializados en Solana y nuestra misión es ofrecer la mejor experiencia RPC posible para todo tipo de desarrolladores. Puedes comenzar gratis, sin registrarte con un correo electrónico ni proporcionar una tarjeta de crédito, con solo dos clics.

Esta fue una introducción muy breve y accesible para principiantes sobre los RPCs de Solana. Probablemente ya conocías buena parte de esta información. A continuación, hablaremos sobre optimizaciones de RPC, consideraciones y otros temas más avanzados. ¡Gracias por leer!

Suscríbete a Helius

Mantente al día con las novedades del desarrollo en Solana y recibe actualizaciones cuando publiquemos

Imagen ampliada