Inicio rápido de Cosmos

SubQuery TeamAlrededor de 6 min

Inicio rápido de Cosmos

En esta guía de inicio rápido, vamos a empezar con un simple proyecto de iniciación de Cosmos en la Red Juno y luego terminar indexando algunos datos reales reales. Esta es una base excelente para comenzar a desarrollar su propio Proyecto SubQuery.

Si está buscando guías para Substrate/Polkadot, puede leer la guía de inicio rápido específica de Substrate/Polkadot.

Al final de esta guía, tendrá un proyecto de SubQuery funcionando en un nodo de SubQuery con un endpoint GraphQL desde el que puede consultar datos.

Si aún no lo has hecho, te sugerimos familiarizarte con la terminología utilizada en SubQuery.

El objetivo de esta guía de inicio rápido es adaptar el proyecto inicial estándar para comenzar a indexar todos los votos en el Fondo de Desarrolladores open in new window (que también contribuyó a SubQuery) de Cosmos, solo debería tomar 10-15 minutos

Puedes ver el código final de este proyecto aquí en https://github.com/jamesbayly/juno-terra-develop-fund-votesopen in new window

Preparación

Entorno de desarrollo local

Instalar SubQuery CLI

Instalar SubQuery CLI globalmente en tu terminal usando Yarn o NPM:

# NPM
npm install -g @subql/cli

Tenga en cuenta que NO animamos el uso de yarn global para instalar @subql/cli debido a su mala gestión de dependencias que puede llevar a errores en la línea.

A continuación, puede ejecutar ayuda para ver los comandos disponibles y el uso proporcionado por CLI

subql help

Inicializar el proyecto starter de SubQuery

Cosmos aún no está soportado en la CLI de SubQuery (subql), para empezar con Juno clon o bifurcar el proyecto inicialopen in new window.

Después de completar el proceso de inicialización, debería ver una carpeta con el nombre de su proyecto que se ha creado dentro del directorio. El contenido de este directorio debe ser idéntico a lo que se muestra en la estructura de directorio.

Por último, bajo el directorio del proyecto, ejecute el siguiente comando para instalar las dependencias del nuevo proyecto.

cd PROJECT_NAME npm install Hacer cambios en su proyecto En el paquete de inicio que acaba de inicializar, proporcionamos una configuración estándar para su nuevo proyecto. Usted trabajará principalmente en los siguientes archivos:

  1. El esquema GraphQL en schema.graphql
  2. El manifiesto del proyecto en project.yaml
  3. Las funciones de mapeo en el directorio src/mappings/

El objetivo de esta guía de inicio rápido es adaptar el proyecto de inicio estándar para comenzar a indexar todas las transferencias del contrato inteligente de bLuna.

Actualizando tu archivo de esquema GraphQL

El archivo schema.graphql define los diversos esquemas GraphQL. Debido a la forma en que funciona el lenguaje de consulta de GraphQL, el archivo de esquema esencialmente dicta la forma de sus datos de SubQuery. Es un buen lugar para comenzar porque te permite definir tu objetivo final por adelantado.

Vamos a actualizar el esquema . raphql archivo para leer de la siguiente manera para que podamos indexar todos los votos en el Fondo de Desarrollo Terraopen in new window.

type Vote @entity {
  id: ID! # El campo id siempre es obligatorio y debe verse como este bloque de altura
  : ¡BigInt!
  voter: String!
 # The address that voted
  proposalID: BigInt! # The proposal ID
  vote: Boolean! # If they voted to support or reject the proposal

Importante: Cuando realice cambios en el archivo de esquema, asegúrese de que regenera el directorio de sus tipos. Hágalo ahora.

::: code-tabs @tab:active yarn shell yarn codegen