Arquitectura
Arquitectura
Antes de comenzar con la Anchor Platform, familiaricémonos con la arquitectura. Esta sección describirá los componentes involucrados y cómo interactúan.
Arquitectura Fundamental
Los siguientes componentes arquitectónicos son necesarios para todos los despliegues de la Anchor Platform.
Cliente
El cliente es una aplicación, como una billetera o un remitente de remesas, que actúa en nombre de un usuario y realiza solicitudes al sistema. Los clientes realizan solicitudes al componente servidor SEP de la Anchor Platform utilizando conjuntos de estándares llamados SEPs (Stellar Ecosystem Proposals).
Servidor SEP
El servidor SEP es un servidor orientado al cliente y, por lo tanto, debe ser accesible desde una red externa. El servidor SEP procesa las solicitudes de los usuarios y gestiona el estado de las transacciones que inician. Cuando el servidor SEP necesita proporcionar información que no tiene al cliente, como la tasa de cambio para un par de activos o el estado KYC de un cliente, realiza solicitudes callback sincrónicas al servidor de negocio y devuelve la información en un formato compatible con SEP.
El servidor SEP nunca almacenará información sensible, como KYC (PII), en la base de datos.
Servidor de Negocios
El servidor de negocios es un servicio que tú (el negocio) debes implementar para conectar la Anchor Platform con tus sistemas internos. El servidor de negocios responde a las solicitudes de callback enviadas por el servidor SEP, como solicitudes de presupuesto, recibe eventos enviados por el servicio de eventos, como la notificación de un pago recibido a tu cuenta Stellar, y proporciona actualizaciones al servidor de la plataforma cuando ocurren eventos fuera de la cadena, como la iniciación de una transferencia bancaria a un cliente.
Servidor de Plataforma
El servidor de la plataforma es un componente interno. Debería ser alojado en una red privada y no debería ser accesible desde Internet. Este servidor permite al negocio obtener y actualizar el estado de las transacciones utilizando su API.
Base de Datos
La Anchor Platform utiliza una base de datos PostgreSQL para almacenar eventos y entidades Stellar. Se utiliza principalmente para almacenar transacciones.
Arquitectura Completa
Además de los componentes descritos anteriormente, la Anchor Platform incluye varios otros componentes que ofrecen funcionalidad adicional. Tu negocio puede elegir a cuáles de los componentes adicionales utilizar, pero el diagrama a continuación visualiza la arquitectura del sistema si se utilizan todos los componentes.
Servicio de Eventos
El servicio de eventos permite a la Anchor Platform enviar webhooks HTTP a clientes registrados y a tu servidor de negocios cuando cambia el estado de las transacciones, eliminando la necesidad de que los clientes y/o tu servidor de negocios consulten las APIs de la Anchor Platform. Funciona leyendo eventos publicados en un tema Kafka por los otros componentes de la Anchor Platform. [Lee más][events] sobre el uso del servicio de eventos.
Servidor de Custodia
El servidor de custodia se conecta a proveedores de billeteras empresariales, como Fireblocks, para enviar y recibir pagos por transacciones iniciadas a través de la Anchor Platform. Este servicio es una alternativa al Stellar Observer para empresas que utilizan uno de los proveedores admitidos. Además de la funcionalidad ofrecida por el Stellar Observer, el Servidor de Custodia también puede facilitar pagos salientes a las cuentas Stellar de los clientes. Si también utilizas el servicio de eventos, los pagos a tus cuentas activarán un callback HTTP enviado a tu servidor de negocios.
Si ya tienes una integración con tu proveedor de billeteras, entonces este componente no es necesario, aunque tu servidor de negocios necesitará notificar a la Anchor Platform cuando un pago asociado a una transacción de la Anchor Platform se envió o recibió de tus cuentas Stellar a través de la API de Plataforma.
Actualmente, el único proveedor admitido es Fireblocks.
Stellar Observer
El Stellar Observer, una alternativa al servidor de custodia mencionado anteriormente, monitorea la blockchain de Stellar utilizando Horizon, detecta automáticamente los pagos de los usuarios enviados al negocio y actualiza las transacciones correspondientes en la base de datos de la Anchor Platform. Si también utilizas el servicio de eventos, los pagos a tus cuentas activarán un callback HTTP enviado a tu servidor de negocios.
Si ya tienes una solución para monitorear los pagos a tus cuentas Stellar, como una integración con tu exchange, Horizon o RPC, entonces este componente no es necesario, aunque tu servidor de negocios necesitará notificar a la Anchor Platform cuando un pago asociado a una transacción de la Anchor Platform se realizó a una de tus cuentas Stellar a través de la API de Plataforma.