La SDK de Xpring

Xpring es una solución para desarrolladores que deseen un acceso directo a las funcionalidades del XRP Ledger independientemente de su conocimiento o familiaridad con la criptografía y los sistemas distribuidos. Puedes crear aplicaciones en tu lenguaje preferido. Con Xpring, tu aplicación puede realizar transacciones de valor en todo el mundo, independientemente del tamaño del pago, los límites o la plataforma que utilices para crearla.

La SDK de Xpring ofrece las funcionalidades más comunes del ecosistema XRP en una librería fácil de usar. La SDK de Xpring es la base del Sitio para Desarrolladores de Xpring y también impulsará los futuros servicios de Xpring.

La SDK de Xpring soporta las siguientes funcionalidades:

  • Consultar el balance de una cuenta
  • Hacer pagos en XRP
  • Determinar el estado de una transacción

El historial de transacciones también podrá ser consultado a través de la SDK en próximas versiones.

Todas estas funcionalidades estan soportadas en los siguientes lenguages:

  • Java
  • Swift
  • NodeJS (con soporte a navegadores muy pronto)

Todas estas funcionalidades utilizan una base de código común, lo que garantiza que Xpring ofrezca funcionalidades en todos los lenguajes compatibles simultáneamente. En la práctica, esto significa que un ingeniero de iOS que está integrando el SDK de Xpring en su aplicación puede explicar cómo usar las API a un ingeniero de Android.

Arquitectura

Xpring SDK logra la consistencia entre plataformas a través de la reutilización pragmática de código. De manera general, se puede dividir a la mayoría de las SDK multiplataforma, incluida la de Xpring , en tres componentes:

  • Llamadas de red y procedimientos remotos (RPCs)
  • Funcionalidad principal común
  • Una API pública que conecta estas características juntas en una API idiomática

Comunicaciones

Cualquier librería de cliente necesita una forma robusta de comunicarse con un servicio remoto. En el caso de Xpring SDK, una librería de cliente se conecta a un nodo de XRP Ledger remoto que sirve datos sobre el estado del registro a través del sistema distribuido.

Sin la SDK de Xpring, cada servidor de XRP Ledger emplea una API JSON para comunicarse e interactuar con el nodo. Esta API no tiene conectores preconfigurados en ningún lenguage, lo que requiere que los desarrolladores de librerías de cliente interactúen con el nodo empleando sus propios objetos JSON sin tipo en el lenguaje de su elección.

Xpring utiliza gRPC, que es una tecnología multiplataforma utilizada para definir una API utilizando un lenguaje de marcado ligero. El lenguaje de marcado se "compila" para generar código en varios lenguages nativos. El código generado crea objetos type-safe de petición y respuesta legibles por humanos. gRPC también proporciona la parte de la administración de conexión y manejo de errores, y emplea un formato optimizado que supera a JSON tanto en el tiempo de serialización como en tamaño.

Con gRPC en en el stack de tecnología de Xpring, nuestro equipo escribe código una sola vez para generar una capa API de red que se comporta de manera consistente en todos los lenguajes soportados en el stack. Puedes consultar el Pull Request para integrar gRPC en rippled aquí .

Funcionalidad principal común

El ecosistema XRP tiene algunos casos de uso habituales que utilizan una lógica común. Algunos ejemplos incluyen:

  • Derivación y validación de direcciones
  • Serialización de transacciones a formato binario
  • Transformación a formato Base58 Check

Este tipo de funciones nunca son fáciles de escribir o mantener. Ahora puedes dejar este trabajo a la SDK de Xpring.

La SDK de Xpring consume una librería común de JavaScript a la cual llama para realizar operaciones del tipo mencionado. Esta librería común no está expuesta a los usuarios de la API pública, lo que minimiza las posibilidades de uso incorrecto del sistema de tipos de JavaScript. Del mismo modo, tener un número reducido y controlado de llamadas minimiza el impacto en el rendimiento de la máquina virtual JavaScript. Mantener la funcionalidad común en JavaScript proporciona el balance óptimo entre los beneficios de la reutilización de código, el rendimiento y un alto nivel de seguridad de tipos.

Echa un vistazo a la librería común en la SDK de Xpring.

"Pegando" código

La SDK de Xpring une un conjunto común de funciones básicas con una capa de red generada.

Debido a que la API pública está escrita de forma nativa, proporciona un diseño idiomático en cualquier lenguaje en el que se esté escribiendo la SDK. Por ejemplo, un desarrollador de JavaScript generalmente espera que el código asíncrono use promesas, mientras que un desarrollador de Swift probablemente espera un controlador de finalización de cierre. Los patrones de intercambio de código de Xpring permiten que ambos programadores escriban código de la manera que esperaban, mientras comparten la mayoría de las funciones entre sí.

Sobre la importancia de la modularidad

La SDK de Xpring está diseñada con los conceptos de modularidad en mente. Por lo tanto, las plataformas no compatibles tienen un nivel básico de soporte, y los desarrolladores externos pueden hacer contribuciones significativas al ecosistema XRP utilizando los componentes de código abierto de Xpring.

Por ejemplo, un desarrollador podría estar interesado en usar Python para integrar el XRP Ledger con su Casa de Cambio. Al proporcionarle una representación gRPC de la interfaz de red, este desarrollador puede obtener acceso de inmediato a cualquier llamada de red que desee utilizar. A su vez, puede reutilizar la librería principal y aprovechar el código existente de la SDK de Xpring.

Con modularidad, es fácil intercambiar componentes y preparar la plataforma Xpring de cara al futuro. Si el equipo de Xpring cambiara el lenguage en el que está escrito el código principal, eso no afectaría a la API pública. Igualmente, si el equipo de Xpring decidiera usar una tecnología de red diferente a la de gRPC, este cambio no afectaría a la API pública.

Hacia el futuro

Con la arquitectura descrita, el costo para Xpring o cualquier desarrollador externo para agregar una plataforma adicional a nuestro SDK es relativamente bajo. Puede invocar un programa para generar el código de red gRPC necesario, crear un conjunto ligero de enlaces entre JavaScript y el lenguaje de su elección, y escribir la API pública idiomática que une a los dos y se presenta a los clientes. Del mismo modo, agregar una característica adicional en todas las plataformas es más fácil y económico debido al nivel de reutilización del código.

El equipo de Xpring planea dar soporte a más funcionalidades del XRP Ledger, aumentar la cantidad de lenguajes soportados por la SDK de Xpring y cubrir servicios adicionales como pagos multi-moneda y el sistema de identidad digital que proporciona el Protocolo Interledger.