Configuración
Los servicios de la Plataforma de Desembolso Stellar pueden configurarse mediante un conjunto de opciones que se pasan por la línea de comandos o se establecen como variables de entorno. Dependiendo de cómo estés usando y desplegando la SDP, estas configuraciones pueden establecerse en un ConfigMap en Kubernetes, como variables de entorno en un contenedor Docker, pasarse como argumentos de línea de comandos, etc.
En esta sección discutiremos las diferentes opciones de configuración disponibles para la SDP.
- Las configuraciones marcadas con 🔑 son sensibles y deben almacenarse de forma segura.
- Todas las configuraciones pueden pasarse como variables de entorno o flags de CLI. Por ejemplo, la variable de entorno
BASE_URLpodría pasarse mediante el flag--base-url. Los flags de CLI tienen prioridad sobre las variables de entorno, aunque estas últimas son más convenientes.
Servicio principal de SDP
Para obtener la configuración más actualizada, puedes ejecutar el siguiente comando en el repositorio git del backend de stellar-disbursement-platform:
- bash
./stellar-disbursement-platform serve --help
Configuración operativa
La configuración operativa permite controlar métricas, registro y otros aspectos operativos del Servicio principal de SDP.
PORT- El puerto en el que el Servicio principal de SDP escuchará las solicitudes HTTP entrantes. Por defecto: 8000.LOG_LEVEL- Determina el nivel de verbosidad de los registros. Opciones: "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", o "PANIC". Por defecto: "TRACE".METRICS_PORT- El puerto en el que el Servicio principal de SDP expondrá sus métricas. Por defecto: 8002.METRICS_TYPE- El tipo de métricas a exponer. Opciones: "PROMETHEUS". Por defecto: "PROMETHEUS".CRASH_TRACKER_TYPE- El tipo de rastreador de fallos a usar. Opciones: "SENTRY", "DRY_RUN". Por defecto: "DRY_RUN".SENTRY_DSN- 🔑 El DSN (clave de cliente) del proyecto Sentry. Si no se proporciona, no se usará Sentry.ENVIRONMENT- El entorno donde la aplicación está ejecutándose. Ejemplo: "development", "staging", "production". Por defecto: "development".BASE_URL- La URL base del servidor backend de SDP. Por defecto: "http://localhost:8000". Las URLs específicas para cada tenant se configurarán durante el proceso de provisión de tenants.SDP_UI_BASE_URL- La URL base de la interfaz de usuario/dashboard de SDP usada para enviar el enlace de invitación cuando se crea un usuario nuevo. Las URLs específicas para cada tenant se configurarán durante el proceso de provisión de tenants.
Configuración de base de datos
Las siguientes configuraciones están relacionadas con la base de datos PostgreSQL usada por el Servicio principal de SDP.
DATABASE_URL- 🔑 La cadena de conexión para la base de datos PostgreSQL. El formato espostgres://usuario:contraseña@host:puerto/base_de_datos?sslmode=disable. Por defecto: "postgres://localhost:5432/sdp?sslmode=disable".DB_MAX_OPEN_CONNS- Máximo número de conexiones abiertas por pool a la base de datos. Por defecto: 20.DB_MAX_IDLE_CONNS- Máximo número de conexiones inactivas mantenidas en el pool. Por defecto: 2.DB_CONN_MAX_IDLE_TIME_SECONDS- Cierra conexiones inactivas después de N segundos. Por defecto: 10.DB_CONN_MAX_LIFETIME_SECONDS- Recicla conexiones después de N segundos. Por defecto: 300.
Configuración de mensajería
La configuración de mensajería permite configurar el servicio de mensajería usado para enviar mensajes a los destinatarios y a los usuarios del dashboard de SDP. La configuración predeterminada está establecida en "DRY_RUN", lo que significa que no se enviarán mensajes y estos se registrarán en la consola. Esto se recomienda solamente para propósitos de prueba.
EMAIL_SENDER_TYPE: El tipo de mensajero usado para enviar invitaciones a nuevos usuarios del dashboard. Opciones: "DRY_RUN", "TWILIO_EMAIL", "AWS_EMAIL". Por defecto: "DRY_RUN".SMS_SENDER_TYPE: El tipo de mensajero usado para enviar mensajes SMS a los destinatarios. Opciones: "DRY_RUN", "TWILIO_SMS", "TWILIO_WHATSAPP", "AWS_SMS". Por defecto: "DRY_RUN".
Configuración AWS
Las siguientes configuraciones son necesarias cuando se usa AWS SES o SNS para enviar emails o mensajes SMS.
AWS_ACCESS_KEY_ID- 🔑 La ID de la clave de acceso de AWS.AWS_REGION- La región AWS donde el servicio SES está disponible.AWS_SECRET_ACCESS_KEY- 🔑 La clave secreta de acceso de AWS.AWS_SES_SENDER_ID- El email que AWS SES usará como remitente al enviar correos electrónicos. Requerido cuandoEMAIL_SENDER_TYPEestá configurado a "AWS_EMAIL".AWS_SNS_SENDER_ID- El ID del remitente para usar al enviar SMS usando AWS SNS. Requerido cuandoSMS_SENDER_TYPEestá configurado a "AWS_SMS".
Configuración Twilio
Las siguientes configuraciones son necesarias cuando SMS_SENDER_TYPE=TWILIO_SMS.
TWILIO_ACCOUNT_SID- 🔑 El SID de la cuenta Twilio.TWILIO_AUTH_TOKEN- 🔑 El token de autenticación Twilio.TWILIO_SERVICE_SID- El SID del servicio Twilio.
Las siguientes configuraciones son necesarias cuando SMS_SENDER_TYPE=TWILIO_WHATSAPP.
TWILIO_ACCOUNT_SID- 🔑 El SID de la cuenta Twilio.TWILIO_AUTH_TOKEN- 🔑 El token de autenticación Twilio.TWILIO_SERVICE_SID- El SID del servicio Twilio.TWILIO_WHATSAPP_FROM_NUMBER- El número de empresa WhatsApp usado para enviar mensajes (con prefijo whatsapp:).TWILIO_WHATSAPP_RECEIVER_INVITATION_TEMPLATE_SID- El SID de contenido Twilio para la plantilla de invitación WhatsApp del receptor (comienza con HX).TWILIO_WHATSAPP_RECEIVER_OTP_TEMPLATE_SID- El SID de contenido Twilio para la plantilla OTP WhatsApp del receptor (comienza con HX).
Las siguientes configuraciones son necesarias cuando EMAIL_SENDER_TYPE=TWILIO_EMAIL.
TWILIO_SENDGRID_API_KEY- 🔑 La clave API para el servicio Twilio SendGrid (correo electrónico).TWILIO_SENDGRID_SENDER_ADDRESS- La dirección de correo electrónico usada para enviar emails vía Twilio SendGrid.
Configuración general de mensajería
MAX_INVITATION_RESEND_ATTEMPTS- El número máximo de intentos para reenviar (automáticamente) la invitación a las Carteras Receptoras. Por defecto: 3.
Configuración Stellar
La configuración Stellar permite configurar cuentas, transacciones y otros ajustes relacionados con Stellar.
NETWORK_PASSPHRASE- La frase contraseña de la red Stellar. Por defecto "Test SDF Network ; September 2015".HORIZON_URL- La URL del servidor Horizon para usar al enviar transacciones. Por defecto "https://horizon-testnet.stellar.org/".SEP10_SIGNING_PUBLIC_KEY- La clave pública de la cuenta Stellar que firma las transacciones SEP-10. También se usa para firmar URLs.SEP10_SIGNING_PRIVATE_KEY- 🔑 La clave privada de la cuenta Stellar que firma las transacciones SEP-10. También se usa para firmar URLs.MAX_BASE_FEE- La tarifa base máxima para enviar una transacción Stellar. Por defecto: 10000.SEP10_CLIENT_ATTRIBUTION_REQUIRED- Determina si se requiere la atribución del cliente SEP-10. Por defecto: true.
Configuración de cuentas de canal
La siguiente configuración es necesaria para usar la CLI de cuentas de canal para gestionar cuentas de canal.
CHANNEL_ACCOUNT_ENCRYPTION_PASSPHRASE- 🔑 Una clave secreta Stellar ed25519 (que empieza conS) usada para cifrar/descifrar las claves privadas de las cuentas de canal. Si no se establece, tomará por defecto el valor deDISTRIBUTION_SEED.
Configuración de cuentas de distribución
Las siguientes configuraciones están relacionadas con las cuentas de distribución usadas para enviar fondos a destinatarios. Esta configuración debe coincidir con la configuración en el Servicio principal de SDP.
DISTRIBUTION_ACCOUNT_ENCRYPTION_PASSPHRASE- 🔑 Una clave secreta Stellar ed25519 (que comienza conS) usada para cifrar/descifrar las claves privadas en memoria de las cuentas de distribución.DISTRIBUTION_PUBLIC_KEY- La clave pública de la cuenta anfitrión de distribución Stellar. Usada para distribuir fondos, crear cuentas de canal y cuentas de distribución de tenants.DISTRIBUTION_SEED- 🔑 La clave privada de la cuenta anfitrión de distribución Stellar. Usada para distribuir fondos, crear cuentas de canal y cuentas de distribución de tenants.
Configuración de seguridad
La configuración de seguridad permite configurar los aspectos de seguridad del Servicio principal de SDP.
CORS_ALLOWED_ORIGINS- Especifica los dominios permitidos para hacer solicitudes cross-origin. "" significa que todos los dominios están permitidos. Los dominios pueden contener comodines, por ejemplo, "https://.example.com".SEP24_JWT_SECRET- 🔑 El secreto usado para firmar el token JWT para transacciones SEP-24. Este secreto se usa durante el flujo de registro de la cartera receptora.
Configuración de autenticación del dashboard
Las siguientes configuraciones están relacionadas con la autenticación y autorización de usuarios del dashboard.
RESET_TOKEN_EXPIRATION_HOURS- El tiempo de expiración en horas del token para restablecer la contraseña. Por defecto: 24 (horas).EC256_PUBLIC_KEY- La clave pública EC256 usada para validar la firma del token. Esta clave EC debe ser al menos tan fuerte como prime256v1 (P-256).EC256_PRIVATE_KEY- 🔑 La clave privada EC256 usada para firmar el token de autenticación. Esta clave EC debe ser al menos tan fuerte como prime256v1 (P-256).DISABLE_MFA- Deshabilita la autenticación multifactor (MFA) para los usuarios del dashboard de SDP.DISABLE_RECAPTCHA- Deshabilita Google reCAPTCHA v2 para los usuarios del dashboard de SDP. Este flag no afecta el reCAPTCHA usado en el flujo SEP-24.
Configuración Recaptcha
Las siguientes configuraciones son necesarias cuando se usa Google reCAPTCHA v2 para proteger el Servicio principal de SDP contra bots. ReCaptcha se usa tanto para los usuarios del dashboard como para los receptores de fondos durante el flujo SEP-24.
RECAPTCHA_SITE_KEY- La clave del sitio Google reCAPTCHA v2 - No soy un robot.RECAPTCHA_SITE_SECRET_KEY- 🔑 La clave secreta del sitio reCAPTCHA usada para validar las respuestas del reCAPTCHA.
Configuración de trabajos en segundo plano
SCHEDULER_PAYMENT_JOB_SECONDS: Intervalo en segundos para el trabajo que sincroniza pagos entre SDP y TSS. El mínimo es 5 s.SCHEDULER_RECEIVER_INVITATION_JOB_SECONDS: Intervalo en segundos para el trabajo que envía invitaciones a receptores. El mínimo es 5 s.
Configuración multi-inquilino
ADMIN_ACCOUNT: El nombre de usuario de la cuenta de administrador usada para autenticar las solicitudes HTTP al servidor Admin. Las solicitudes dirigidas a Admin deben añadir el encabezado "Authorization", formateado como Base64 codificado"ADMIN_ACCOUNT:ADMIN_API_KEY".ADMIN_API_KEY: La clave API de la cuenta de administrador usada para autenticar las solicitudes HTTP al servidor Admin. Las solicitudes dirigidas a Admin deben añadir el encabezado "Authorization", formateado como Base64 codificado"ADMIN_ACCOUNT:ADMIN_API_KEY".ADMIN_PORT: el puerto del servidor Admin usado para crear y gestionar tenants. Por defecto es 8003.INSTANCE_NAME: el nombre de la instancia SDP que se mostrará en el archivostellar.toml. Ejemplo: "SDP Testnet".SINGLE_TENANT_MODE: Cuando se establece a"true", activa el modo de un solo inquilino, útil para desarrollo local o configuraciones de inquilino único. Además de establecerlo en true, necesitarás configurar el tenant predeterminado llamando a la solicitudPOST /tenants/default-tenant.TENANT_XLM_BOOTSTRAP_AMOUNT: La cantidad de XLM que la cuenta Stella anfitriona depositará a la cuenta de distribución del tenant para su inicialización.
Configuración de integración del bridge
Las siguientes configuraciones son necesarias cuando se usa la integración del Bridge.
ENABLE_BRIDGE_INTEGRATION- Determina si la integración del bridge está habilitada.BRIDGE_BASE_URL- La URL base de la API del bridge. Por defecto:"https://api.bridge.xyz".BRIDGE_API_KEY- 🔑 La clave API para la integración del bridge. Requerido siENABLE_BRIDGE_INTEGRATIONestá establecido como true.
Servicio de envío de transacciones (TSS)
Para obtener la configuración más actualizada, puedes ejecutar el siguiente comando en el repositorio git del backend de stellar-disbursement-platform:
- bash
./stellar-disbursement-platform tss --help
Configuración general
QUEUE_POLLING_INTERVAL- Intervalo de sondeo (segundos) para consultar la base de datos sobre transacciones pendientes para procesar. Por defecto: 6.
Configuración operativa
La configuración operativa permite controlar métricas, registro y otros aspectos operativos del Servicio de envío de transacciones (TSS).
LOG_LEVEL- Determina el nivel de verbosidad de los registros. Opciones: "TRACE", "DEBUG", "INFO", "WARN", "ERROR", "FATAL", o "PANIC". Por defecto: "TRACE".TSS_METRICS_PORT- El puerto en el que el TSS expondrá sus métricas. Por defecto: 9002.TSS_METRICS_TYPE- El tipo de métricas a exponer. Opciones: "PROMETHEUS". Por defecto: "PROMETHEUS".CRASH_TRACKER_TYPE- El tipo de rastreador de fallos a usar. Opciones: "SENTRY", "DRY_RUN". Por defecto: "DRY_RUN".SENTRY_DSN- 🔑 El DSN (clave de cliente) del proyecto Sentry. Si no se proporciona, no se usará Sentry.ENVIRONMENT- El entorno donde la aplicación está ejecutándose. Ejemplo: "development", "staging", "production". Por defecto: "development".
Configuración de base de datos
Las siguientes configuraciones están relacionadas con la base de datos PostgreSQL usada por el Servicio principal de SDP.
DATABASE_URL- 🔑 La cadena de conexión para la base de datos PostgreSQL. El formato espostgres://usuario:contraseña@host:puerto/base_de_datos?sslmode=disable. Por defecto: "postgres://localhost:5432/sdp?sslmode=disable".DB_MAX_OPEN_CONNS- Máximo número de conexiones abiertas por pool a la base de datos. Por defecto: 20.DB_MAX_IDLE_CONNS- Máximo número de conexiones inactivas mantenidas en el pool. Por defecto: 2.DB_CONN_MAX_IDLE_TIME_SECONDS- Cierra conexiones inactivas después de N segundos. Por defecto: 10.DB_CONN_MAX_LIFETIME_SECONDS- Recicla conexiones después de N segundos. Por defecto: 300.
Configuración Stellar
La configuración Stellar permite configurar cuentas, transacciones y otros ajustes relacionados con Stellar.
NETWORK_PASSPHRASE- La frase contraseña de la red Stellar. Por defecto "Test SDF Network ; September 2015".HORIZON_URL- La URL del servidor Horizon para usar al enviar transacciones. Por defecto "https://horizon-testnet.stellar.org/".MAX_BASE_FEE- La tarifa base máxima para enviar una transacción Stellar. Por defecto: 10000.
Configuración de cuentas de canal
Las siguientes configuraciones son necesarias para usar cuentas de canal para enviar transacciones a la red Stellar.
NUM_CHANNEL_ACCOUNTS- Número de cuentas de canal a utilizar para el envío de transacciones. Por defecto: 2.CHANNEL_ACCOUNT_ENCRYPTION_PASSPHRASE- 🔑 Una clave secreta Stellar ed25519 (que comienza conS) usada para cifrar/descifrar las claves privadas de las cuentas de canal. Si no se establece, tomará por defecto el valor de la opción 'DISTRIBUTION_SEED'.
Configuración de cuentas de distribución
Las siguientes configuraciones están relacionadas con las cuentas de distribución usadas para enviar fondos a destinatarios. Esta configuración debe coincidir con la configuración en el Servicio principal de SDP.
DISTRIBUTION_ACCOUNT_ENCRYPTION_PASSPHRASE- 🔑 Una clave secreta Stellar ed25519 (que comienza conS) usada para cifrar/descifrar las claves privadas en memoria de las cuentas de distribución.DISTRIBUTION_PUBLIC_KEY- La clave pública de la cuenta anfitrión de distribución Stellar. Usada para distribuir fondos, crear cuentas de canal y cuentas de distribución de tenants.DISTRIBUTION_SEED- 🔑 La clave privada de la cuenta anfitrión de distribución Stellar. Usada para distribuir fondos, crear cuentas de canal y cuentas de distribución de tenants.
Dashboard
El dashboard SDP es una aplicación web que permite a los usuarios gestionar sus cuentas, ver el historial de transacciones y más. Las variables de entorno pueden establecerse en un objeto global window._env_ o como variables process.env. Todas las variables de entorno usadas en este repositorio están en el archivo src/constants/envVariables.ts, incluyendo sus tipos. La ubicación predeterminada del objeto window._env_ es public/settings/env-config.js.
Configuración general
API_URL- La URL base del Servicio principal de SDP. Por defecto: "http://localhost:8000".STELLAR_EXPERT_URL- La URL base del explorador Stellar Expert. Por defecto: "https://stellar.expert/explorer/testnet".HORIZON_URL- La URL base del servidor Horizon. Por defecto: "https://horizon-testnet.stellar.org".RECAPTCHA_SITE_KEY- La clave del sitio Google reCAPTCHA v2 - No soy un robot. Esta clave debe coincidir con la utilizada en el Servicio principal de SDP.SINGLE_TENANT_MODE- Cuando se establece a"true", activa el modo de un solo inquilino, útil para desarrollo local o configuraciones de inquilino único. Además de establecerlo en true, necesitarás configurar el tenant predeterminado llamando a la solicitudPOST /tenants/default-tenant. Por defecto: "false".