Exemplos CLI
Esta prática demonstra como brincar com a API de conteúdo em um terminal. Usaremos a instância da Decentraland Foundation em peer.decentraland.org, e tudo o que você precisa é o curl ferramenta de linha de comando.
Isto é o que faremos:
Consultar o status do servidor de conteúdo.
Localize e baixe um snapshot com uma lista de entidades.
Obtenha o manifesto de uma entidade.
Baixe um dos arquivos da entidade.
Vamos começar consultando o status do servidor usando /about:
curl "https://peer.decentraland.org/about"{
"healthy": true,
"content": {
"healthy": true,
"version": "6.5.0",
},
// ... mais informações do servidor (feature flags, versões, caminhos, etc.)
}Parece que o servidor está ativo e funcionando normalmente ("healthy": true), e está nos dando informações sobre a versão que implementa para cada conjunto de recursos, além de algumas opções de configuração da instância.
Estamos interessados em baixar algum conteúdo, então vamos explorar os snapshots para obter alguns identificadores via /content/snapshots.
Cada item no array descreve um snapshot. Vamos pegar um hash e baixar o arquivo do /content/contents endpoint.
Você pode experimentar snapshots maiores, como no exemplo avançado em python. Para testar isso interativamente, provavelmente você vai querer um dos menores.
Podemos verificar que baixamos o arquivo correto em um formato que conhecemos, olhando a primeira linha:
Ótimo! Agora temos um resumo local de todas as entidades capturadas nesse snapshot. Vamos pegar a primeira listada (a segunda linha do arquivo), um perfil:
Como snapshots expiram e entidades são substituídas, os identificadores neste artigo não funcionarão. Acompanhe no seu terminal para obter IDs de arquivos reais e ativos.
Esta é uma informação que poderíamos salvar. Usaremos o entityId para baixar o manifesto JSON da entidade, mas persistir os pointer listados é uma boa ideia se quisermos localizar esta entidade e quaisquer versões atualizadas no futuro.
Também temos o auth_chain usado para assinar esta entidade, e poderíamos validar as assinaturas listadas para verificar a autenticidade de quaisquer arquivos relacionados que baixarmos.
Vamos obter o manifesto da entidade. Lembre-se, o entityId é o file identifier de que precisamos, e podemos usar o /content/contents endpoint novamente:
Esta perfil entidade tem todas as informações que os World Explorers usam para renderizar e animar um jogador. Se estivermos interessados em obter um dos arquivos empacotados, podemos continuar a usar o /content/contents endpoint.
Se olharmos o campo content , podemos ver o hash do arquivo internamente chamado body.png. Vamos pegá-lo:
Podemos abrir este png arquivo em um visualizador de imagens ou navegador web e conferir o trabalho do autor. Legal!
Atualizado