Visão Geral
Tudo o que você pode encontrar dentro do mundo virtual da Decentraland é hospedado em uma rede distribuída de servidores conhecidos como Catalysts, que fornecem (entre outras coisas) a API de conteúdo. Eles são o meio pelo qual os clientes enviam e baixam conteúdo.
A API completa do Catalyst está disponível em sua própria referência. Aqui, vamos nos concentrar em entender como o conteúdo é organizado e como pode ser descoberto e baixado.
Todos os conceitos importantes mencionados abaixo são descritos de forma mais detalhada em suas próprias páginas.
Arquivos, Entidades, Pointers
Existem três camadas no sistema de conteúdo da Decentraland: files são empacotados dentro de entities, e entidades são descobertas usando pointers.
Arquivos são armazenados em um sistema de arquivos descentralizado semelhante ao IPFS, e sincronizados automaticamente entre os servidores de conteúdo. Eles são identificados por uma ID única em string que é calculada a partir do conteúdo do arquivo, e tanto o identificador quanto o conteúdo são imutáveis. Não existe algo como atualizar um arquivo. Em vez disso, arquivos substitutos são enviados e arquivos antigos são excluídos.
Entidades são pacotes atômicos de arquivos e representam conteúdo real encontrado no mundo, como cenas e itens wearables. Eles têm pelo menos um arquivo, chamado manifest, com uma descrição geral e metadados. Assim como os arquivos individuais que contêm, eles são imutáveis e identificados por uma string única e determinística. Todas as entidades têm um proprietário, que possui as chaves privadas necessárias para gerenciá-las.
Pointers são referências estáveis que podem ser resolvidas para a ID de uma entidade. Quando a entidade é substituída (ou seja, o proprietário envia um novo pacote, e o antigo é excluído), os arquivos e metadados contidos são diferentes e também são seus identificadores, mas os pointers permanecem os mesmos e são redirecionados para a nova versão.
Snapshots
Os servidores de conteúdo também hospedam grandes arquivos JSON delimitados por nova linha com resumos de todas as entidades ativas (ou seja, aquelas atualmente referenciadas por pointers) em um determinado ponto no tempo. Estes são chamados snapshots, e podem ser usados para explorar todo o conteúdo disponível.
Atualizado