> For the complete documentation index, see [llms.txt](https://docs.decentraland.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.decentraland.org/contributor/contributor-es/arquitectura/catalyst.md).

# Red de Catalyst

La red Catalyst es la infraestructura descentralizada de distribución de contenido de Decentraland. Varios operadores independientes ejecutan nodos Catalyst que almacenan y sirven contenido.

## Descripción general

La red Catalyst funciona como un sistema distribuido completamente mallado donde los nodos se comunican directamente entre sí para sincronizar contenido y mantener la salud de la red.

![Topología de la red Catalyst](https://1243972940-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F6k7p2WCueah7nUnaQYV6%2Fuploads%2Fgit-blob-2292da3f43ef493114d2d1926700386ae161073d%2Fcatalyst.png?alt=media\&token=d1aa206f-8bfc-4959-9320-15c5910e2881)

## Componentes de Catalyst

Cada nodo Catalyst consta de:

### Content Server

**Propósito**: Almacenamiento y recuperación de activos

Almacena y sirve:

* Definiciones de escenas
* Modelos 3D y texturas
* Archivos de audio
* Scripts
* Avatares y wearables

**Referencia de API**: [Catalyst API](https://github.com/decentraland/docs/tree/main/contributor/apis/catalyst/README.md)

### Lambdas

**Propósito**: funciones de consulta Serverless

Proporciona endpoints consultables:

* Búsquedas de entidades
* Consultas de perfil
* Metadatos de contenido
* Historial de despliegues

Las Lambdas se ejecutan como servicios separados que consultan la base de datos del Content Server.

### Nginx

**Propósito**: proxy inverso y balanceo de carga

Dirige las solicitudes a los servicios adecuados:

* Content Server para subidas
* Lambdas para consultas
* Servicio de activos estáticos

***

## Despliegue de contenido

### Flujo de despliegue

```mermaid
sequenceDiagram
    participant CLI
    participant Content as Content Server
    participant Queue as Cola de despliegues
    participant Services as Servicios de backend
    
    CLI->>Content: POST /entities
    Content->>Content: Validar y almacenar
    Content-->>CLI: Despliegue aceptado
    Content->>Queue: Nuevo evento de despliegue
    Queue->>Services: Activar procesamiento
```

### Pasos del despliegue

1. **Compilar**: la CLI empaqueta la escena usando build-ecs
2. **Firmar**: el creador firma el despliegue con la Wallet
3. **Subir**: la CLI lo sube a cualquier nodo Catalyst
4. **Validar**: Catalyst valida firmas y contenido
5. **Almacenar**: contenido guardado en el almacenamiento
6. **Propagar**: evento publicado en la cola de despliegue
7. **Procesar**: los servicios de backend procesan el contenido nuevo

### Validación de contenido

Catalyst valida:

* Firmas digitales (prueba de propiedad)
* Hashes de contenido (integridad)
* Permisos de parcela (propiedad del LAND)
* Límites de tamaño de archivo
* Cumplimiento de la política de contenido

***

## Pipeline de despliegues

Cuando se despliega contenido, varios sistemas reaccionan:

### Procesamiento de activos

```mermaid
flowchart LR
    Deploy[Nuevo despliegue]
    Queue[Despliegues a SQS]
    AB[Convertidor de Asset Bundle]
    Profile[Imágenes de perfil]
    Badges[Insignias]
    
    Deploy --> Queue
    Queue -->|activos 3D| AB
    Queue -->|cambios de Avatar| Profile
    Queue -->|verificación de logros| Badges
```

**Servicios activados**:

* **Convertidor de Asset Bundle** - Crea paquetes optimizados
* **Generador de imágenes de perfil** - Genera miniaturas de Avatar
* **Procesador de insignias** - Verifica logros del despliegue

### Servicios en escucha

Servicios que supervisan los despliegues:

* **Worlds** - Para despliegues de Worlds
* **Comms Gatekeeper** - Para la configuración de voz de Worlds
* **Atlas Server** - Para actualizaciones del mapa

***

## Replicación de contenido

Los nodos Catalyst replican contenido para garantizar la disponibilidad:

### Estrategia de replicación

* **Sincronización activa**: los nodos sincronizan activamente los nuevos despliegues
* **Basado en extracción**: los nodos obtienen el contenido faltante bajo demanda
* **Protocolo Gossip**: los anuncios de despliegue se propagan

### Direccionamiento de contenido

Todo el contenido está direccionado por contenido:

* Archivos identificados por CID de IPFS (identificador de contenido)
* Inmutable una vez desplegado
* Deduplicación automática

***

## Archipelago Workers (Comms)

La infraestructura de comunicaciones se ejecuta junto a Catalyst:

### Componentes

#### WebSocket Connector

* Mantiene las conexiones de los clientes
* Manejo del protocolo
* Autenticación de la conexión

**Referencia de API**: [Archipelago Workers API](https://github.com/decentraland/docs/tree/main/contributor/apis/archipelago-workers/README.md)

#### Archipelago Core

* **Formación de islas** - Agrupa a los jugadores cercanos
* **Límites de peers** - Aplica un máximo de peers por isla (normalmente 100)
* **Actualizaciones de posición** - Difunde las posiciones de los jugadores
* **Enrutamiento de mensajes** - Enruta el chat y los emotes

#### Servicio de estadísticas

* Conteos de usuarios activos por escena
* Estadísticas de conexión
* Métricas de rendimiento

***

## Integración con Blockchain

### Indexador de Subgraph

Catalyst usa un indexador dedicado:

```mermaid
flowchart LR
    Blockchain[Ethereum/Polygon]
    Subgraph[Indexador]
    Catalyst[Catalyst]
    
    Blockchain -->|Eventos| Subgraph    
    Catalyst -->|Consultas| Subgraph
```

El **Indexador** indexa:

* Propiedad de LAND (NFTs de LAND)
* Colecciones de Wearables y Emotes
* Registros de nombres
* Transferencias de NFTs

***

## Próximos pasos

* Revisar [Servicios backend](/contributor/contributor-es/arquitectura/services.md) para detalles del servicio
* Ver [Infraestructura](/contributor/contributor-es/arquitectura/infrastructure.md) para sistemas de apoyo
* Revisa [Descripción general de la arquitectura](/contributor/contributor-es/arquitectura/architecture.md) para la visión completa


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.decentraland.org/contributor/contributor-es/arquitectura/catalyst.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
