Serviços Backend

Esta página fornece uma visão geral abrangente de todos os serviços backend do Decentraland, seus papéis arquiteturais e como interagem dentro do ecossistema. Para especificações detalhadas de API e endpoints, consulte o Referência de APIarrow-up-right seção.

Arquitetura de Serviço

O backend do Decentraland é composto por microserviços distribuídos organizados em camadas lógicas:

  • Camada Descentralizada - Rede Catalyst e infraestrutura de entrega de conteúdo

  • Camada de Comunicações em Tempo Real - Descoberta de serviços e comunicações peer-to-peer

  • Serviços de Funcionalidade - Funcionalidade voltada ao usuário (conteúdo, economia, gamificação)

  • Serviços Centrais - Infraestrutura essencial da plataforma (auth, marketplace, notifications)


Camada Descentralizada

Catalyst

Propósito: Rede de entrega de conteúdo descentralizada

A rede Catalyst forma a base da infraestrutura de conteúdo do Decentraland. Cada nó Catalyst é um servidor completo que fornece:

  • Content Server - Armazenamento e recuperação de entidades (scenes, profiles, wearables)

  • Serviço Lambdas - Endpoints utilitários e consultas de conteúdo

  • Servidor de Comunicações - Transporte de mensagens em tempo real

Papel Arquitetural: Os nós Catalyst são distribuídos geograficamente e permissionless. A rede fornece redundância e disponibilidade de conteúdo sem controle central.

Integrações Principais:

  • Realm Provider - Anuncia disponibilidade do nó

  • Asset Bundle Registry - Aciona otimização de ativos no deployment

  • Archipelago Workers - Fornece dados de ilha/cluster

Referência de API: API do Catalystarrow-up-right

Lamb2

Propósito: Utilitários Lambda e funções serverless

Lamb2 fornece endpoints utilitários para consumo de conteúdo e consultas que complementam o Content Server:

  • Agregação e filtragem de scenes

  • Consultas de profile com fallbacks

  • Verificações de status e health checks

Papel Arquitetural: Atua como uma camada de conveniência sobre o acesso bruto a entidades do Content Server, fornecendo padrões de consulta de nível mais alto comumente necessários pelos clientes.

Referência de API: Lamb2 APIarrow-up-right


Camada de Comunicações em Tempo Real

Realm Provider

Propósito: Descoberta de serviços e seleção de realm

O Realm Provider é o ponto de entrada para todos os clientes do Decentraland. Ele implementa seleção inteligente de realm com base em:

  • Otimização geográfica - Roteia usuários para os nós Catalyst mais próximos

  • Monitoramento de saúde - Filtra nós com problemas ou sobrecarregados

  • Rastreamento de capacidade - Fornece contagens de usuários por realm em tempo real

  • Agregação de cenas populares - Identifica locais populares em todos os realms

Papel Arquitetural: Fonte única de verdade para a infraestrutura disponível. Os clientes consultam-no uma vez na inicialização para descobrir todos os endpoints de serviço (Catalyst, Comms, BFF).

Integrações Principais:

  • Consulta todos os nós Catalyst periodicamente

  • Agrega estatísticas do Archipelago

  • Fornece visão unificada da rede distribuída

Referência de API: Realm Provider APIarrow-up-right

Comms Gatekeeper

Propósito: Controle de acesso a voz e vídeo

O Gatekeeper gerencia o acesso aos servidores de mídia LiveKit para chat de voz e vídeo:

  • Geração de tokens - Cria tokens de acesso com tempo limitado e permissões específicas

  • Administração de scenes - Gerencia direitos de admin de scene e banimentos

  • Gerenciamento de stream - Controla acesso a transmissão ao vivo e chaves RTMP

  • Controles de privacidade - Impõe permissões de chat de voz privado

Papel Arquitetural: Camada de segurança entre clientes e infraestrutura de mídia. Evita acesso não autorizado enquanto habilita modelos de permissão flexíveis (baseados em scene, privado, comunidade).

Integrações Principais:

  • LiveKit - Emite tokens JWT para acesso ao servidor de mídia

  • Worlds API - Valida propriedade de world para direitos de admin

  • Signed Fetch - Autentica todas as requisições via assinaturas de wallet

Referência de API: Comms Gatekeeper APIarrow-up-right

Archipelago Workers

Propósito: Agrupamento de comunicações e roteamento de mensagens

Archipelago implementa o protocolo de clustering baseado em proximidade que agrupa jogadores próximos em "ilhas":

  • Transporte WebSocket - Mantém conexões persistentes com clientes

  • Rastreamento de posição - Monitora localizações dos jogadores em tempo real

  • Formação de ilhas - Agrupa dinamicamente jogadores com base na distância

  • Roteamento de mensagens - Encaminha mensagens apenas para membros da ilha

Componentes da Arquitetura:

  • Conector WebSocket - Lida com conexões de clientes e autenticação

  • Núcleo do Archipelago - Implementa algoritmo de clustering e gerenciamento de ilhas

  • Serviço de Estatísticas - Fornece métricas de conexão e contagens de usuários

  • Integração com NATS - Publica atualizações de posição e roteia mensagens

Papel Arquitetural: Otimiza comunicações peer-to-peer limitando o fanout de mensagens. Em vez de transmitir para todos os usuários em um realm, as mensagens alcançam apenas jogadores dentro do alcance de interação.

Integrações Principais:

  • Broker de mensagens NATS - Roteamento distribuído de mensagens

  • Realm Provider - Fornece estatísticas de ilhas

  • Places API - Dados de contagem de usuários para cenas populares

Referência de API: API dos Archipelago Workersarrow-up-right


Serviços de Funcionalidade

Worlds

Propósito: Hospedagem isolada de scenes fora da grade principal

Worlds permite que usuários implantem scenes em ambientes isolados:

  • Worlds nomeados - Acessível via URLs personalizadas (por exemplo, world.dclworlds.com)

  • Worlds privados - Controle de acesso gateado por NFT

  • Permissões de World - Direitos de admin e deployment gerenciados pelo owner

Papel Arquitetural: Estende o modelo de conteúdo do Decentraland além da grade fixa de LAND. Cada world é uma scene independente com seus próprios canais de comunicação e controle de acesso.

Integrações Principais:

  • Consulta indexadores de blockchain para verificação de propriedade de NFT

  • Publica atualizações de world para NATS para sincronização de clientes em tempo real

  • Integra-se com Comms Gatekeeper para salas de chat de voz

  • Aciona pipeline de processamento de ativos no deployment

Referência de API: Worlds APIarrow-up-right

Eventos

Propósito: Gestão e descoberta de eventos in-world

Gerencia o ciclo de vida completo de eventos virtuais:

  • CRUD de eventos - Criação, atualizações e agendamento

  • Rastreamento de participantes - Participação de usuários e RSVPs

  • Descoberta - Consultas e filtragem baseadas em tempo

  • Notificações - Integração com Events Notifier

Papel Arquitetural: Fornece contexto temporal ao metaverso. Eventos impulsionam descoberta e engajamento de usuários ao destacar experiências sensíveis ao tempo.

Referência de API: Events APIarrow-up-right

Places

Propósito: Descoberta e curadoria de pontos de interesse

Agrega e seleciona locais interessantes pelo Decentraland:

  • Cenas populares - Popularidade em tempo real baseada em contagens de usuários

  • Lugares em destaque - Locais selecionados editorialmente

  • Busca e filtragem - Descoberta por tags, categorias

  • Metadados de POI - Descrições, miniaturas, coordenadas

Papel Arquitetural: Resolve o problema de descoberta em um grande mundo aberto. Agrega dados de múltiplas fontes para ajudar usuários a encontrar conteúdo envolvente.

Integrações Principais:

  • Catalyst - Metadados de scene e informações de deployment

  • Archipelago Stats - Contagens de usuários por scene em tempo real

  • Comms Gatekeeper - Disponibilidade e status de realm

Referência de API: Places APIarrow-up-right

Atlas Server

Propósito: Dados de mapa e visualização de parcelas

Fornece dados abrangentes do mapa mundial:

  • Propriedade de parcel - Dados de LAND indexados em blockchain

  • Metadados de scene - Nomes de scenes implantadas e coordenadas

  • Tiles de mapa - Imagens de tiles pré-renderizadas para exibição em UI

  • Consultas espaciais - Encontra parcels por coordenadas ou owner

Papel Arquitetural: Fornece o índice espacial para a grade de LAND do Decentraland. Essencial para UIs de mapa e navegação espacial.

Referência de API: Atlas Server APIarrow-up-right

Camera Reel

Propósito: Gestão de screenshots geradas pelos usuários

Gerencia screenshots e imagens de usuários:

  • Uploads de imagem - Armazenamento autenticado de imagens

  • Organização de galeria - Coleções de screenshots do usuário

  • Metadados - Local da scene, timestamp, tags

Papel Arquitetural: Habilita compartilhamento de conteúdo e recursos sociais em torno de fotografia gerada pelos usuários.

Referência de API: Camera Reel APIarrow-up-right

Exploration Games

Propósito: Gamificação de onboarding e tutoriais

Sistema de quests interativas para onboarding de novos usuários:

  • Rastreamento de quests - Progresso através de missões tutoriais

  • Conclusão de desafios - Verificação de tarefas

  • Integração de recompensas - Conecta-se ao sistema de rewards

Papel Arquitetural: Reduz atrito para novos usuários fornecendo uma introdução estruturada e orientada a objetivos às funcionalidades do Decentraland.

Referência de API: Exploration Games APIarrow-up-right


Serviços Centrais

Auth Server

Propósito: Autenticação baseada em wallet e gestão de sessão

Implementa o modelo de autenticação wallet-first do Decentraland:

  • Verificação de assinatura - Valida assinaturas de wallet Ethereum

  • Emissão de tokens JWT - Gera tokens de sessão

  • Validação de tokens - Verifica tokens para recursos protegidos

  • Ciclo de vida da sessão - Atualização e expiração de tokens

Papel Arquitetural: Fornece verificação de identidade descentralizada. Usuários se autenticam via assinaturas de wallet em vez de senhas, alinhando-se aos princípios Web3.

Fluxo de Autenticação:

  1. Cliente solicita challenge

  2. Usuário assina challenge com wallet

  3. Auth Server verifica assinatura e emite JWT

  4. Cliente inclui JWT em requisições API subsequentes

Referência de API: Auth Server APIarrow-up-right

Serviço Social

Propósito: Grafo social e gestão de comunidade

Gerencia relacionamentos sociais e comunidades:

  • Sistema de amigos - Pedidos, aprovações, listas de amigos

  • Lista de bloqueio - Bloqueio de usuários e privacidade

  • Comunidades - Associação a grupos e descoberta

  • Status em tempo real - Notificações de amigos online/offline via NATS

  • Mensagens privadas - Infraestrutura de mensagens diretas

Papel Arquitetural: Fornece a camada social que transforma o Decentraland de um mundo virtual em um metaverso social.

Integrações Principais:

  • Catalyst Client - Busca dados de profile para amigos

  • NATS - Publica atualizações de status de amigos

  • Archipelago - Consulta status online e localizações

Referência de API: Social Service APIarrow-up-right

Marketplace Server

Propósito: Integração com marketplace de NFT

Backend para o marketplace de wearables e emotes do Decentraland:

  • Consultas de listagem - Navegar e buscar itens do marketplace

  • Histórico de transações - Registros de compra

  • Dados de precificação - Preços de mercado e tendências

  • Metadados de coleção - Coleções de wearables e emotes

Papel Arquitetural: Faz a ponte entre dados on-chain de NFT e a UI amigável do marketplace. Indexa eventos da blockchain para consultas rápidas.

Referência de API: Marketplace Server APIarrow-up-right


Serviços de Ativos

Registro de Pacotes de Assets

Propósito: Gestão otimizada de ativos

Registro de bundles de ativos otimizados para a plataforma:

  • URLs de asset bundle por plataforma

  • Versionamento

  • Distribuição CDN

Referência de API: Asset Bundle Registry APIarrow-up-right

Componentes do Sistema:

  • Conversor de Bundle de Ativos - Constrói bundles específicos por plataforma

  • Gerador de LODs - Cria variantes de nível de detalhe

Fluxo de Processos:

spinner

Camera Reel

Propósito: Gestão de screenshots e imagens

Gestão de conteúdo gerado por usuários:

  • Armazenamento de screenshots

  • Uploads de imagem

  • Organização de galeria

Referência de API: Camera Reel APIarrow-up-right

Credits Server

Propósito: Moeda virtual e economia

Gerencia o sistema de créditos virtuais do Decentraland:

  • Rastreamento de saldo - Saldos de créditos dos usuários

  • Livro-razão de transações - Transferências e gastos de créditos

  • Integração de compra - Conversão de fiat para credits

  • Sincronização com blockchain - Consulta indexadores para saldos on-chain

Papel Arquitetural: Fornece uma alternativa de moeda com menor atrito aos tokens on-chain para compras e funcionalidades dentro do mundo.

Referência de API: Credits Server APIarrow-up-right

Badges

Propósito: Sistema de conquistas e gamificação

Concessões de badges acionadas por eventos:

  • Definições de badge - Conquistas disponíveis

  • Inventário do usuário - Badges conquistados por usuário

  • Concessão automática - Prêmios de badge acionados por eventos

Componentes da Arquitetura:

  • Badges API - Consultas de badge e inventários de usuários

  • Processador de Badges - Escuta Events Notifier e concede badges

Papel Arquitetural: Gamifica o engajamento do usuário por meio de conquistas. Fornece visibilidade e reconhecimento para atividades dos usuários.

Referência de API: Badges APIarrow-up-right

API de Recompensas

Propósito: Distribuição de recompensas NFT baseada em campanhas

Gerencia campanhas promocionais de recompensas NFT:

  • Gestão de campanhas - Programas de recompensa com tempo limitado

  • Verificação de elegibilidade - Verifica qualificação do usuário

  • Coordenação de airdrop - Distribuição de NFT para usuários elegíveis

  • Analytics - Rastreamento de participação na campanha

Papel Arquitetural: Habilita campanhas de marketing e aquisição de usuários por meio de recompensas em NFT.

Referência de API: API de Recompensasarrow-up-right

Notifications Workers

Propósito: Sistema de entrega de notificações ao usuário

Infraestrutura de notificações multicanal:

  • Notificações in-app - Consultas da caixa de entrada de notificações

  • Notificações por email - Integração com SendGrid

  • Push notifications - Alertas para mobile e desktop

  • Rastreamento de status de leitura - Marcar notificações como lidas/não lidas

Componentes da Arquitetura:

  • Inbox de Notificações - API para consultar notificações do usuário

  • Processor de Notificações - Gera notificações a partir do Events Notifier

Papel Arquitetural: Mantém usuários engajados por meio de alertas oportunos sobre atividade de amigos, eventos, recompensas e atualizações do sistema.

Referência de API: Notifications Workers APIarrow-up-right

Events Notifier

Propósito: Barramento de eventos para eventos da plataforma

Sistema centralizado de publicação de eventos que aciona ações downstream:

  • Eventos de usuário - Login, compras, deployments

  • Eventos mundiais - Atualizações de scene, ações de admin

  • Eventos do sistema - Manutenção, atualizações

Papel Arquitetural: Desacopla produtores de eventos de consumidores. Serviços publicam eventos sem saber quem os processa, possibilitando arquiteturas extensíveis.

Integrações Downstream:

  • Processor de Notificações - Cria notificações de usuário

  • Processor de Badges - Concede badges de conquista

  • Rewards API - Rastrea elegibilidade de campanhas

Referência de API: Events Notifier APIarrow-up-right


Padrões de Interação entre Serviços

Padrões comuns de integração

Biblioteca Catalyst Client

Muitos serviços backend usam o Catalyst Client library para interagir com a rede descentralizada Catalyst:

  • Serviço Social - Busca dados de profile do usuário

  • Events API - Consulta metadados de scene

  • Places - Agrega informações de scene

  • Registro de Pacotes de Assets - Escuta eventos de deployment

Esta library abstrai a lógica de consulta multi-nó e failover.

Broker de Mensagens NATS

Atualizações em tempo real e comunicação assíncrona fluem através do NATS:

  • Serviço Social - Publica mudanças de status de amigos

  • Worlds - Transmite atualizações de configuração de world

  • Archipelago - Roteia atualizações de posição entre ilhas

  • Events Notifier - Publica eventos da plataforma

NATS permite que serviços se comuniquem sem acoplamento direto.

Indexadores de Blockchain

Serviços consultam indexadores (não a blockchain diretamente) para desempenho:

  • Worlds - Verifica propriedade de NAME NFT

  • Atlas - Busca dados de parcelas LAND

  • Credits Server - Verifica saldos de token

  • API de Recompensas - Verifica condições de elegibilidade

Consultas diretas na blockchain seriam muito lentas para APIs em tempo real.

Pipeline de Deployment de Conteúdo

Quando um usuário faz deployment de conteúdo no Catalyst, múltiplos serviços downstream processam-no:

spinner

Etapas do Pipeline:

  1. Catalyst - Armazena dados brutos de entidades

  2. Fila de Deployment - Aciona processamento assíncrono

  3. Conversor de Bundle de Ativos - Constrói bundles Unity otimizados

  4. Gerador de Imagem de Profile - Renderiza thumbnails de avatar (para entidades de profile)

  5. Events Notifier - Publica evento de deployment

  6. Processador de Badges - Verifica badges de conquista por deployment

Matriz de Dependência de Serviços

Serviço
Dependências Centrais
Fornece Dados Para

Catalyst

Nenhum (decentralized)

Todos os serviços

Realm Provider

Catalyst, Archipelago Stats

Todos os clientes

Auth Server

Nenhum

Todos os serviços protegidos

Archipelago Workers

NATS, LiveKit

Realm Provider, Places

Comms Gatekeeper

LiveKit, Worlds API

Clientes (geração de tokens)

Worlds

Catalyst, NATS, Blockchain

Gatekeeper, Clientes

Serviço Social

Catalyst, NATS, Archipelago

Clientes

Places

Catalyst, Archipelago, Comms

Clientes

Events Notifier

Nenhum

Notifications, Badges, Rewards

Registro de Pacotes de Assets

Catalyst, Deployment Queue

Clientes (assets otimizados)

Notifications Workers

Events Notifier, SendGrid

Clientes


Documentação Relacionada

Arquitetura

Referências de API

Desenvolvimento

Atualizado