Inicio rápido de Polkadot

En esta guía de inicio rápido, vamos a empezar con un simple proyecto inicial de Substrate/Polkadot y luego terminaremos indexando algunos datos reales. Esta es una base excelente para comenzar a desarrollar su propio proyecto Substrate/Polkadot SubQuery.

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 de inicio estándar para empezar a indexar todas las transferencias desde Polkadot, sólo debería llevar 10-15 minutos

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

Por favor, tenga en cuenta que ** DO NOT** fomentamos el uso de yarn global para la instalación de @subql/cli debido a su pobre gestión de dependencias que puede conducir a errores en la línea.

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

subql help

Inicializar el proyecto starter de SubQuery

Dentro del directorio en el que desea crear un proyecto SubQuery, simplemente ejecute el siguiente comando para empezar.

subql init

Se le harán ciertas preguntas ya que el proyecto de SubQuery está initalizado:

  • Nombre del proyecto: Un nombre de proyecto para su proyecto de SubQuery
  • Familia de redes: La familia de redes de blockchain de capa 1 para la que se desarrollará este proyecto de SubQuery. Utilice las teclas de flecha para seleccionar las opciones disponibles. Para esta guía, utilizaremos "Substrate"
  • Red: La red específica para la que se desarrollará este proyecto de SubQuery. Utilice las teclas de flecha para seleccionar las opciones disponibles. Para esta guía, utilizaremos "Polkadot"
  • Proyecto de plantilla: Seleccione un proyecto de plantilla de SubQuery que le proporcionará un punto de partida para comenzar el desarrollo. Sugerimos seleccionar el proyecto "subql-starter".
  • Punto final RPC: Proporcione una URL HTTPS a un punto final RPC en ejecución que se utilizará por defecto para este proyecto. Puede acceder rápidamente a los puntos finales públicos para diferentes redes de Polkadot, crear tu propio nodo privado dedicado utilizando OnFinalityopen in new window o simplemente utilizar el punto final predeterminado de Polkadot. Este nodo RPC debe ser un nodo de archivo (tienen el estado completo de cadena). Para esta guía, utilizaremos el valor por defecto "https://polkadot.api.onfinality.io"
  • Git repository: Proporcione una URL Git a un repositorio en el que se alojará este proyecto SubQuery (cuando se aloje en el Explorador de SubQuery) o acepte el predeterminado proporcionado.
  • Autores: Introduzca aquí el propietario de este proyecto de SubQuery (por ejemplo, su nombre) o acepte el valor predeterminado proporcionado.
  • Descripción: Proporcione un breve párrafo sobre su proyecto que describa los datos que contiene y lo que los usuarios pueden hacer con ellos o acepte el valor predeterminado proporcionado.
  • Versión: Introduzca un número de versión personalizado o utilice el predeterminado (1.0.0)
  • Licencia: Proporcione la licencia de software para este proyecto o acepte la predeterminada (MIT)

Una vez completado el proceso de inicialización, deberías ver que se ha creado una carpeta con el nombre de tu proyecto dentro del directorio. El contenido de este directorio debe ser idéntico al que aparece en la Estructura de directorios.

Por último, en 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. Estos son:

  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 estándar de inicio para comenzar a indexar todas las transferencias de Polkadot.

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 punto de partida porque le permite definir su objetivo final por adelantado.

Actualice el archivo schema.graphql para que diga lo siguiente:

type Transfer @entity {
  id: ID! # El campo Id es siempre obligatorio y debe tener el siguiente aspecto
  importe: BigInt # Cantidad que se transfiere
  blockNumber: BigInt # La altura del bloque de la transferencia
  from: String # La altura del bloque de la transferencia! # La cuenta desde la que se realizan las transferencias
  a: ¡Cadena! # La cuenta que las transferencias se hacen a
}

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

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