Ejemplos de CLI
Esta práctica demuestra cómo jugar con la API de contenido en un terminal. Usaremos la instancia de la Decentraland Foundation en peer.decentraland.org, y todo lo que necesitas es el curl herramienta de línea de comandos.
Esto es lo que haremos:
Consultar el estado del servidor de contenido.
Localiza y descarga un snapshot con una lista de entidades.
Obtén el manifiesto de una entidad.
Descarga uno de los archivos de la entidad.
Comencemos consultando el estado del servidor usando /about:
curl "https://peer.decentraland.org/about"{
"healthy": true,
"content": {
"healthy": true,
"version": "6.5.0",
},
// ... más información del servidor (flags de características, versiones, rutas, etc.)
}Parece que el servidor está activo y funcionando con normalidad ("healthy": true), y nos está dando información sobre la versión que implementa para cada conjunto de características, además de algunas opciones de configuración de la instancia.
Estamos interesados en descargar contenido, así que exploremos los snapshots para obtener algunos identificadores vía /content/snapshots.
Cada elemento en el arreglo describe un snapshot. Tomemos un hash y descarguemos el archivo desde el /content/contents endpoint.
Puedes experimentar con snapshots más grandes, como en el ejemplo avanzado en python. Para probar esto de forma interactiva, probablemente quieras uno de los más pequeños.
Podemos comprobar que descargamos el archivo correcto en un formato que conocemos, mirando la primera línea:
¡Genial! Ahora tenemos un resumen local de todas las entidades que fueron capturadas en ese snapshot. Tomemos la primera listada (la segunda línea en el archivo), un perfil:
Dado que los snapshots expiran y las entidades son reemplazadas, los identificadores en este artículo no funcionarán. Sigue los pasos en tu línea de comandos para obtener IDs de archivos reales y activos.
Esta es información que podríamos guardar. Usaremos el entityId para descargar el manifiesto JSON de la entidad, pero persistir los pointer listados es una buena idea si queremos localizar esta entidad y cualquier versión actualizada en el futuro.
También tenemos la auth chain usada para firmar esta entidad, y podríamos validar las firmas listadas para verificar la autenticidad de cualquier archivo relacionado que descarguemos.
Vamos a obtener el manifiesto de la entidad. Recuerda, el entityId es el file identifier que necesitamos, y podemos usar el /content/contents endpoint de nuevo:
Esta perfil entidad tiene toda la información que World Explorers utiliza para renderizar y animar a un jugador. Si nos interesa obtener uno de los archivos empaquetados, podemos continuar usando el /content/contents endpoint.
Si miramos el content campo, podemos ver el hash del archivo internamente llamado body.png. Vamos a conseguirlo:
Podemos abrir este png archivo en un visor de imágenes o en un navegador web, y ver el trabajo del autor. ¡Buen trabajo!
Última actualización