Servicios backend

Esta página ofrece una descripción completa de todos los servicios de backend de Decentraland, sus roles arquitectónicos y cómo interactúan dentro del ecosistema. Para especificaciones detalladas de la API y los endpoints, consulte el Referencia de APIarrow-up-right sección.

Service Architecture

El backend de Decentraland está compuesto por microservicios distribuidos organizados en capas lógicas:

  • Capa Descentralizada - Red Catalyst e infraestructura de entrega de contenido

  • Capa de Comunicaciones en Tiempo Real - Descubrimiento de servicios y comunicaciones peer-to-peer

  • Servicios de Funcionalidad - Funcionalidad orientada al usuario (contenido, economía, gamificación)

  • Servicios Core - Infraestructura esencial de la plataforma (auth, marketplace, notificaciones)


Capa Descentralizada

Catalyst

Propósito: Red de entrega de contenido descentralizada

La red Catalyst forma la base de la infraestructura de contenido de Decentraland. Cada nodo Catalyst es un servidor completo que proporciona:

  • Content Server - Almacenamiento y recuperación de entidades (scenes, profiles, wearables)

  • Servicio Lambdas - Endpoints de utilidad y consultas de contenido

  • Servidor de Comunicaciones - Transporte de mensajes en tiempo real

Rol Arquitectónico: Los nodos Catalyst están distribuidos geográficamente y son permissionless. La red proporciona redundancia y disponibilidad de contenido sin control central.

Integraciones Clave:

  • Realm Provider - Publica la disponibilidad del nodo

  • Asset Bundle Registry - Disparar la optimización de assets en el despliegue

  • Archipelago Workers - Proporciona datos de isla/cluster

Referencia de API: Catalyst APIarrow-up-right

Lamb2

Propósito: Utilidades Lambda y funciones serverless

Lamb2 proporciona endpoints de utilidad para el consumo de contenido y consultas que complementan el Content Server:

  • Agregación y filtrado de scenes

  • Consultas de profiles con mecanismos de respaldo

  • Comprobaciones de estado y salud

Rol Arquitectónico: Actúa como una capa de conveniencia sobre el acceso bruto a entidades del Content Server, proporcionando patrones de consulta de alto nivel comúnmente requeridos por los clientes.

Referencia de API: Lamb2 APIarrow-up-right


Capa de Comunicaciones en Tiempo Real

Realm Provider

Propósito: Descubrimiento de servicios y selección de realm

El Realm Provider es el punto de entrada para todos los clientes de Decentraland. Implementa la selección inteligente de realm basada en:

  • Optimización geográfica - Enruta a los usuarios hacia los nodos Catalyst más cercanos

  • Monitoreo de salud - Filtra nodos no saludables o sobrecargados

  • Seguimiento de capacidad - Proporciona recuentos de usuarios en tiempo real por realm

  • Agregación de escenas populares - Identifica ubicaciones populares en todos los realms

Rol Arquitectónico: Fuente única de verdad para la infraestructura disponible. Los clientes lo consultan una vez al iniciar para descubrir todos los endpoints de servicio (Catalyst, Comms, BFF).

Integraciones Clave:

  • Consulta todos los nodos Catalyst periódicamente

  • Agrega estadísticas de Archipelago

  • Proporciona una vista unificada de la red distribuida

Referencia de API: Realm Provider APIarrow-up-right

Comms Gatekeeper

Propósito: Control de acceso a voz y video

El Gatekeeper gestiona el acceso a servidores de media LiveKit para chat de voz y video:

  • Generación de tokens - Crea tokens de acceso con tiempo limitado y permisos específicos

  • Administración de scenes - Gestiona derechos de administrador de scene y baneos

  • Gestión de streams - Controla el acceso a transmisiones en vivo y claves RTMP

  • Controles de privacidad - Aplica permisos de chat de voz privado

Rol Arquitectónico: Capa de seguridad entre clientes e infraestructura de media. Evita accesos no autorizados mientras permite modelos de permisos flexibles (basados en scene, privados, comunitarios).

Integraciones Clave:

  • LiveKit - Emite JWT tokens para acceso al servidor de media

  • Worlds API - Valida la propiedad del world para derechos de admin

  • Signed Fetch - Autentica todas las solicitudes mediante firmas de wallet

Referencia de API: Comms Gatekeeper APIarrow-up-right

Archipelago Workers

Propósito: Agrupamiento de comunicaciones y enrutamiento de mensajes

Archipelago implementa el protocolo de clustering basado en proximidad que agrupa a jugadores cercanos en "islands":

  • Transporte WebSocket - Mantiene conexiones persistentes con los clientes

  • Seguimiento de posición - Monitorea las ubicaciones de los jugadores en tiempo real

  • Formación de islands - Agrupa dinámicamente a los jugadores según la distancia

  • Enrutamiento de mensajes - Reenvía mensajes solo a los miembros de la island

Componentes de Arquitectura:

  • Conector WebSocket - Maneja conexiones de clientes y autenticación

  • Archipelago Core - Implementa el algoritmo de clustering y la gestión de islands

  • Servicio de stats - Proporciona métricas de conexión y recuentos de usuarios

  • Integración con NATS - Publica actualizaciones de posición y enruta mensajes

Rol Arquitectónico: Optimiza las comunicaciones peer-to-peer limitando el fanout de mensajes. En lugar de transmitir a todos los usuarios en un realm, los mensajes solo alcanzan a los jugadores dentro del rango de interacción.

Integraciones Clave:

  • Broker de mensajes NATS - Enrutamiento de mensajes distribuido

  • Realm Provider - Proporciona estadísticas de islands

  • Places API - Datos de recuento de usuarios para escenas populares

Referencia de API: Archipelago Workers APIarrow-up-right


Servicios de Funcionalidad

Worlds

Propósito: Alojamiento aislado de scenes fuera de la cuadrícula principal

Worlds permiten a los usuarios desplegar scenes en entornos aislados:

  • Worlds con nombre - Accesibles mediante URLs personalizadas (p. ej., world.dclworlds.com)

  • Worlds privados - Control de acceso mediante NFT

  • Permisos de Worlds - Derechos de administrador y despliegue gestionados por el owner

Rol Arquitectónico: Extiende el modelo de contenido de Decentraland más allá de la cuadrícula fija de LAND. Cada world es una scene independiente con sus propios canales de comunicación y control de acceso.

Integraciones Clave:

  • Consulta indexadores de blockchain para verificación de propiedad de NFT

  • Publica actualizaciones del world en NATS para sincronización en tiempo real con los clientes

  • Se integra con Comms Gatekeeper para salas de chat de voz

  • Activa la canalización de procesamiento de assets en el despliegue

Referencia de API: Worlds APIarrow-up-right

Eventos

Propósito: Gestión y descubrimiento de eventos in-world

Gestiona el ciclo de vida completo de eventos virtuales:

  • CRUD de eventos - Creación, actualizaciones y programación

  • Seguimiento de asistentes - Participación de usuarios y RSVPs

  • Descubrimiento - Consultas y filtrado por tiempo

  • Notificaciones - Integración con Events Notifier

Rol Arquitectónico: Proporciona contexto temporal al metaverso. Los eventos impulsan el descubrimiento y la participación de usuarios al resaltar experiencias sensibles al tiempo.

Referencia de API: Events APIarrow-up-right

Places

Propósito: Descubrimiento y curación de puntos de interés

Agrega y selecciona ubicaciones interesantes en todo Decentraland:

  • Escenas populares - Popularidad en tiempo real basada en recuentos de usuarios

  • Lugares destacados - Ubicaciones seleccionadas editorialmente

  • Búsqueda y filtrado - Descubrimiento por tags, categorías

  • Metadata de POI - Descripciones, miniaturas, coordenadas

Rol Arquitectónico: Resuelve el problema del descubrimiento en un mundo abierto grande. Agrega datos de múltiples fuentes para ayudar a los usuarios a encontrar contenido atractivo.

Integraciones Clave:

  • Catalyst - Metadata de scenes e información de despliegue

  • Archipelago Stats - Recuentos de usuarios en tiempo real por scene

  • Comms Gatekeeper - Disponibilidad y estado de realms

Referencia de API: Places APIarrow-up-right

Atlas Server

Propósito: Datos de mapa y visualización de parcelas

Proporciona datos completos del mapa mundial:

  • Propiedad de parcelas - Datos de LAND indexados en blockchain

  • Metadata de scenes - Nombres de scenes desplegadas y coordenadas

  • Tiles de mapa - Imágenes de tiles prerenderizadas para visualización en UI

  • Consultas espaciales - Encontrar parcelas por coordenadas u owner

Rol Arquitectónico: Proporciona el índice espacial para la cuadrícula de LAND de Decentraland. Esencial para UIs de mapa y navegación espacial.

Referencia de API: Atlas Server APIarrow-up-right

Camera Reel

Propósito: Gestión de capturas de pantalla generadas por usuarios

Gestiona capturas de pantalla e imágenes de usuarios:

  • Subidas de imágenes - Almacenamiento autenticado de imágenes

  • Organización de galerías - Colecciones de capturas de pantalla de usuarios

  • Metadata - Ubicación de la scene, marca de tiempo, tags

Rol Arquitectónico: Habilita el intercambio de contenido y funciones sociales alrededor de la fotografía generada por usuarios.

Referencia de API: Camera Reel APIarrow-up-right

Exploration Games

Propósito: Gamificación de onboarding y tutoriales

Sistema de misiones interactivas para el onboarding de nuevos usuarios:

  • Seguimiento de misiones - Progreso a través de misiones tutoriales

  • Finalización de desafíos - Verificación de tareas

  • Integración de recompensas - Conexión al sistema de recompensas

Rol Arquitectónico: Reduce la fricción para nuevos usuarios proporcionando una introducción estructurada y orientada a objetivos a las funcionalidades de Decentraland.

Referencia de API: Exploration Games APIarrow-up-right


Servicios Core

Auth Server

Propósito: Autenticación basada en wallet y gestión de sesiones

Implementa el modelo de autenticación wallet-first de Decentraland:

  • Verificación de firmas - Valida firmas de wallets Ethereum

  • Emisión de tokens JWT - Genera tokens de sesión

  • Validación de tokens - Verifica tokens para recursos protegidos

  • Ciclo de vida de la sesión - Refresco y expiración de tokens

Rol Arquitectónico: Proporciona verificación de identidad descentralizada. Los usuarios se autentican mediante firmas de wallet en lugar de contraseñas, alineándose con los principios Web3.

Flujo de Autenticación:

  1. El cliente solicita un challenge

  2. El usuario firma el challenge con la wallet

  3. Auth Server verifica la firma y emite un JWT

  4. El cliente incluye el JWT en solicitudes API subsecuentes

Referencia de API: Auth Server APIarrow-up-right

Servicio social

Propósito: Gráfica social y gestión comunitaria

Gestiona relaciones sociales y comunidades:

  • Sistema de amigos - Solicitudes, aprobaciones, listas de amigos

  • Lista de bloqueo - Bloqueo de usuarios y privacidad

  • Comunidades - Membresía de grupos y descubrimiento

  • Estado en tiempo real - Notificaciones de amigos online/offline vía NATS

  • Mensajería privada - Infraestructura de mensajes directos

Rol Arquitectónico: Proporciona la capa social que transforma a Decentraland de un mundo virtual a un metaverso social.

Integraciones Clave:

  • Catalyst Client - Recupera datos de profile para amigos

  • NATS - Publica actualizaciones de estado de amigos

  • Archipelago - Consulta estado online y ubicaciones

Referencia de API: Social Service APIarrow-up-right

Marketplace Server

Propósito: Integración con marketplace NFT

Backend para el marketplace de wearables y emotes de Decentraland:

  • Consultas de listados - Navegar y buscar items del marketplace

  • Historial de transacciones - Registros de compras

  • Datos de precios - Precios de mercado y tendencias

  • Metadata de colecciones - Colecciones de wearables y emotes

Rol Arquitectónico: Puentea los datos on-chain de NFT con una UI de marketplace amigable para el usuario. Indexa eventos de blockchain para consultas rápidas.

Referencia de API: Marketplace Server APIarrow-up-right


Asset Services

Registro de paquetes de assets

Propósito: Gestión optimizada de assets

Registro de bundles de assets optimizados para la plataforma:

  • URLs de asset bundles por plataforma

  • Versionado

  • Distribución CDN

Referencia de API: Asset Bundle Registry APIarrow-up-right

Componentes del Sistema:

  • Asset Bundle Converter - Construye bundles específicos por plataforma

  • Generador de LODs - Crea variantes de nivel de detalle

Flujo de Proceso:

spinner

Camera Reel

Propósito: Gestión de capturas de pantalla e imágenes

Gestión de contenido generado por usuarios:

  • Almacenamiento de capturas de pantalla

  • Subidas de imágenes

  • Organización de galerías

Referencia de API: Camera Reel APIarrow-up-right

Credits Server

Propósito: Moneda virtual y economía

Gestiona el sistema de créditos virtuales de Decentraland:

  • Seguimiento de saldo - Saldos de créditos de usuarios

  • Libro mayor de transacciones - Transferencias y gasto de créditos

  • Integración de compras - Conversión de fiat a credits

  • Sincronización con blockchain - Consulta a indexadores para balances on-chain

Rol Arquitectónico: Proporciona una alternativa de moneda con menor fricción frente a tokens en blockchain para compras y funcionalidades dentro del mundo.

Referencia de API: Credits Server APIarrow-up-right

Insignias

Propósito: Sistema de logros y gamificación

Premios de insignias impulsados por eventos:

  • Definiciones de insignias - Logros disponibles

  • Inventario de usuario - Insignias ganadas por usuario

  • Otorgamiento automático - Premios de insignias activados por eventos

Componentes de Arquitectura:

  • Badges API - Consultas de insignias e inventarios de usuarios

  • Badges Processor - Escucha Events Notifier y otorga insignias

Rol Arquitectónico: Gamifica la participación del usuario mediante logros. Proporciona visibilidad y reconocimiento por las actividades del usuario.

Referencia de API: Badges APIarrow-up-right

API de recompensas

Propósito: Distribución de recompensas NFT basada en campañas

Gestiona campañas promocionales de recompensas NFT:

  • Gestión de campañas - Programas de recompensas por tiempo limitado

  • Verificación de elegibilidad - Verificar la cualificación del usuario

  • Coordinación de airdrops - Distribución de NFT a usuarios elegibles

  • Analytics - Seguimiento de participación en la campaña

Rol Arquitectónico: Permite campañas de marketing y adquisición de usuarios a través de recompensas NFT.

Referencia de API: API de recompensasarrow-up-right

Notifications Workers

Propósito: Sistema de entrega de notificaciones a usuarios

Infraestructura de notificaciones multicanal:

  • Notificaciones in-app - Consultas de bandeja de notificaciones

  • Notificaciones por email - Integración con SendGrid

  • Push notifications - Alertas para móvil y escritorio

  • Seguimiento de estado de lectura - Marcar notificaciones como leídas/no leídas

Componentes de Arquitectura:

  • Bandeja de notificaciones - API para consultar notificaciones de usuario

  • Procesador de notificaciones - Genera notificaciones a partir de Events Notifier

Rol Arquitectónico: Mantiene a los usuarios comprometidos mediante alertas oportunas sobre actividad de amigos, eventos, recompensas y actualizaciones del sistema.

Referencia de API: Notifications Workers APIarrow-up-right

Events Notifier

Propósito: Bus de eventos para eventos de la plataforma

Sistema centralizado de publicación de eventos que desencadena acciones aguas abajo:

  • Eventos de usuario - Login, compras, despliegues

  • Eventos del mundo - Actualizaciones de scenes, acciones de admin

  • Eventos del sistema - Mantenimiento, actualizaciones

Rol Arquitectónico: Desacopla a los productores de eventos de los consumidores. Los servicios publican eventos sin saber quién los procesa, permitiendo arquitecturas extensibles.

Integraciones aguas abajo:

  • Procesador de notificaciones - Crea notificaciones de usuario

  • Procesador de insignias - Otorga insignias de logro

  • Rewards API - Rastrea elegibilidad para campañas

Referencia de API: Events Notifier APIarrow-up-right


Patrones de Interacción de Servicios

Patrones Comunes de Integración

Catalyst Client Library

Muchos servicios de backend usan la Catalyst Client library para interactuar con la red descentralizada Catalyst:

  • Servicio social - Recupera datos de profile de usuarios

  • Events API - Consulta metadata de scenes

  • Places - Agrega información de scenes

  • Registro de paquetes de assets - Escucha eventos de despliegue

Esta library abstrae la lógica de consulta a múltiples nodos y failover.

Broker de Mensajes NATS

Actualizaciones en tiempo real y comunicación asíncrona fluyen a través de NATS:

  • Servicio social - Publica cambios de estado de amigos

  • Worlds - Difunde actualizaciones de configuración del world

  • Archipelago - Enruta actualizaciones de posición entre islands

  • Events Notifier - Publica eventos de la plataforma

NATS permite que los servicios se comuniquen sin acoplamiento directo.

Indexadores de blockchain

Los servicios consultan indexadores (no la blockchain directamente) por rendimiento:

  • Worlds - Verifica la propiedad de NAME NFT

  • Atlas - Recupera datos de parcelas LAND

  • Credits Server - Comprueba balances de tokens

  • API de recompensas - Verifica condiciones de elegibilidad

Las consultas directas a la blockchain serían demasiado lentas para APIs en tiempo real.

Canalización de Despliegue de Contenido

Cuando un usuario despliega contenido en Catalyst, múltiples servicios aguas abajo lo procesan:

spinner

Pasos de la canalización:

  1. Catalyst - Almacena datos de entidad en bruto

  2. Cola de despliegue - Dispara procesamiento asíncrono

  3. Asset Bundle Converter - Construye bundles optimizados de Unity

  4. Generador de Imagen de Perfil - Renderiza miniaturas de avatar (para entidades de profile)

  5. Events Notifier - Publica evento de despliegue

  6. Badges Processor - Comprueba insignias por despliegue

Matriz de Dependencias de Servicios

Servicio
Dependencias Core
Proporciona Datos A

Catalyst

Ninguno (descentralizado)

Todos los servicios

Realm Provider

Catalyst, Archipelago Stats

Todos los clientes

Auth Server

Ninguno

Todos los servicios protegidos

Archipelago Workers

NATS, LiveKit

Realm Provider, Places

Comms Gatekeeper

LiveKit, Worlds API

Clientes (generación de tokens)

Worlds

Catalyst, NATS, Blockchain

Gatekeeper, Clientes

Servicio social

Catalyst, NATS, Archipelago

Clientes

Places

Catalyst, Archipelago, Comms

Clientes

Events Notifier

Ninguno

Notificaciones, Badges, Rewards

Registro de paquetes de assets

Catalyst, Deployment Queue

Clientes (assets optimizados)

Notifications Workers

Events Notifier, SendGrid

Clientes


Documentación Relacionada

Arquitectura

Referencias de API

Desarrollo

Última actualización