Arquitectura
Arquitectura
Antes de comenzar con la Anchor Platform, familiarizé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 servidor SEP del Anchor Platform utilizando conjuntos de estándares llamados SEPs (Propuestas del Ecosistema Stellar).
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 administra 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 sincrónicas de callback 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 Negocio
El servidor de negocio es un servicio que debes implementar para conectar la Anchor Platform con tus sistemas internos. El servidor de negocio responde a las solicitudes de callback enviadas por el servidor SEP, como solicitudes de cotización, recibe eventos enviados por el servicio de eventos, como la notificación de un pago recibido en tu cuenta Stellar, y proporciona actualizaciones al servidor de 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 plataforma es un componente interno. Debería estar alojado en una red privada y no debería ser accesible desde Internet. Este servidor permite a la empresa 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 empresa puede elegir 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 los clientes registrados y a tu servidor de negocio cuando el estado de las transacciones cambie, eliminando la necesidad de que los clientes y/o tu servidor de negocio 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 sobre cómo utilizar el servicio de eventos.
Servidor de Custodia
El servidor de custodia se conecta con proveedores de billetera 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 las empresas que utilizan uno de los proveedores soportados. 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 events, los pagos a tus cuentas activarán un callback HTTP enviado a tu servidor de negocio.
Si ya tienes una integración con tu proveedor de billetera, entonces este componente no es necesario, aunque tu servidor de negocio deberá notificar a la Anchor Platform cuando un pago asociado a una transacción de la Anchor Platform haya sido enviado a o desde tus cuentas Stellar a través de la Platform API.
Actualmente, el único proveedor soportado es Fireblocks.
Stellar Observer
El Stellar Observer, una alternativa al servidor de custodia mencionado anteriormente, monitorea la blockchain Stellar usando Horizon, detecta automáticamente los pagos de 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 events, los pagos a tus cuentas activarán un callback HTTP enviado a tu servidor de negocio.
Si ya tienes una solución para monitorear 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 negocio deberá notificar a la Anchor Platform cuando un pago asociado a una transacción de la Anchor Platform haya sido realizado a una de tus cuentas Stellar a través de la Platform API.