Construyendo APIs GraphQL sobre Ethereum con The Graph

Rate this content
Bookmark

The Graph es un protocolo de indexación para consultar redes como Ethereum, IPFS y otras blockchains. Cualquiera puede construir y publicar APIs abiertas, llamadas subgrafos, para hacer que los datos sean fácilmente accesibles.

En este masterclass aprenderás cómo construir un subgrafo que indexa datos de blockchain de NFT del contrato inteligente Foundation. Desplegaremos la API y aprenderemos cómo realizar consultas para recuperar datos utilizando diferentes tipos de patrones de acceso a datos, implementando filtros y ordenamiento.

Al final del masterclass, deberías entender cómo construir y desplegar APIs de alto rendimiento en The Graph para indexar datos de cualquier contrato inteligente desplegado en Ethereum.

FAQ

Una API GraphQL es una forma de construir APIs que permite a los clientes especificar exactamente qué datos quieren. En el contexto de blockchain, se utiliza para facilitar la consulta y manipulación de datos en redes blockchain como Ethereum, permitiendo que los desarrolladores construyan aplicaciones más eficientes.

Ethereum es una plataforma blockchain descentralizada que permite ejecutar contratos inteligentes. En la masterclass, se utiliza Ethereum como la base sobre la cual los participantes aprenderán a construir una API GraphQL, aprovechando las características de Ethereum para manejar transacciones y almacenar datos de manera segura.

Nader Dhabat es un ingeniero de relaciones con desarrolladores en Edge and Node, una startup de blockchain. En la masterclass, Nader guía a los participantes en la construcción de una API GraphQL sobre Ethereum, compartiendo su experiencia y conocimientos en el desarrollo de aplicaciones blockchain.

El Graph es un protocolo de indexación para consultar redes blockchain como Ethereum. Permite a los desarrolladores construir APIs que indexan y consultan datos de manera descentralizada, facilitando la creación de aplicaciones que interactúan con la blockchain sin necesidad de servidores de indexación centralizados.

Los subgrafos son APIs que se construyen utilizando el protocolo The Graph para consultar datos de blockchain como Ethereum. Permiten a los desarrolladores definir qué datos necesitan y cómo acceder a ellos de manera eficiente, actuando como una capa intermediaria que facilita la interacción con la blockchain.

Para participar en el taller, los interesados deben seguir el enlace proporcionado en el chat de la masterclass, que dirige a un repositorio de GitHub. Este repositorio contiene todos los materiales y código necesario para seguir el taller de construcción de una API GraphQL sobre Ethereum.

Nader Dabit
Nader Dabit
48 min
13 Dec, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Este masterclass se enfoca en construir una API GraphQL sobre la blockchain de Ethereum, utilizando el Protocolo Graph. Graph proporciona un enfoque descentralizado para la consulta y almacenamiento de datos, permitiendo a los desarrolladores construir APIs descentralizadas que leen e indexan datos de blockchain. El masterclass cubre temas como la creación de subgrafos, la definición de modelos de datos, el manejo de eventos, y el despliegue y consulta del subgrafo. Los participantes aprenden cómo interactuar con contratos inteligentes y el Graph Node, y cómo personalizar las consultas para recuperar información específica.

1. Introducción a la creación de una API GraphQL en Ethereum

Short description:

Este masterclass se centra en la creación de una API GraphQL en la parte superior de la cadena de bloques Ethereum. Explora la relevancia de la tecnología blockchain en diversas industrias y ofrece oportunidades de aprendizaje y crecimiento. El masterclass se divide en dos partes: una presentación y un taller práctico utilizando un repositorio de GitHub. El orador, Nader Dhabat, presenta Edge and Node, una startup de blockchain detrás del Protocolo Graph. Graph es un protocolo de indexación para consultar redes blockchain. Proporciona un enfoque descentralizado para la consulta y el almacenamiento de datos, a diferencia de las bases de datos tradicionales.

Genial. Entonces, sí, este será un masterclass donde construiremos una API GraphQL en la parte superior de una red blockchain, y la red en la que vamos a construir en la parte superior es Ethereum. Y esto probablemente esté fuera del alcance de la mayoría de las charlas o talleres que se dan aquí. Definitivamente es muy diferente a todo lo que había hecho cuando empecé a aprender estas cosas. Pero creo que se está volviendo cada vez más relevante, supongo, con la aparición de muchos trabajos y oportunidades diferentes que están ahí fuera. Y es como una nueva área para explorar que tal vez acompañe todo el conocimiento existente que tienes sobre GraphQL y cómo se puede usar. Así que si estás interesado en explorar oportunidades en el espacio de blockchain, o el espacio de Web3, o incluso con muchas de las empresas tradicionales como Stripe, PayPal y Meta y todas estas empresas que añaden cosas de blockchain, esto podría volverse relevante para nuestro día a día trabajos, quién sabe. Pero dicho esto, esto se va a dividir en dos partes. Así que voy a hacer una presentación. Y también voy a hacer un taller y el taller lo compartí en el chat anteriormente. Así que deberías ver un enlace a eso. Es un repositorio de GitHub que vamos a seguir. Y aquí está. Ampliemos un poco aquí. Genial. Mi nombre es Nader Dhabat. Soy un ingeniero de relaciones con desarrolladores en Edge and Node. Edge and Node es una startup de blockchain creada por el equipo detrás del Protocolo Graph que es de lo que vamos a hablar hoy. Y hacemos muchas cosas diferentes. Apoyamos este protocolo desde la perspectiva de ser ingenieros de software que construyen y mantienen la infraestructura para este protocolo. También hacemos herramientas de Web3. Hacemos código abierto de Web3. Estamos creando un par de aplicaciones de Web3 que van a ser de código abierto. También hacemos conciencia de Web3 y capital de riesgo. Así que una de las cosas que hago mucho es enseñar a la gente cómo construir cosas y compartir arquitecturas de referencia y cosas así. El Graph es lo que vamos a usar. Y es uno de los muchos protocolos de infraestructura web de Web3 que existen. Y es un protocolo de indexación para consultar redes blockchain como Ethereum e IPFS. Entonces, ¿qué significa eso realmente? Bueno, cuando pensamos en bases de datos tradicionales, se crean y se construyen para ser de manera eficiente para que podamos consultar y guardar datos. Así que una base de datos tradicional

2. Introducción a la lectura de datos de la cadena de bloques

Short description:

En una cadena de bloques, los datos se escriben con el tiempo en bloques, y la innovación se centra en las transacciones de escritura. Sin embargo, a menudo se pasa por alto la lectura de estos datos. Los desarrolladores solían construir servidores de indexación centralizados para recopilar y almacenar datos de la cadena de bloques, pero este enfoque era intensivo en recursos y centralizado. El protocolo de indexación de Graph resuelve este problema al permitir a los desarrolladores construir API descentralizadas que leen e indexan datos de la cadena de bloques. Ejemplos de indexadores en la vida real incluyen motores de búsqueda como Google y bibliotecas que utilizan sistemas de indexación para organizar y recuperar información. Los subgrafos, que se encuentran entre los contratos inteligentes y las interfaces de usuario, permiten a los desarrolladores consultar y obtener diferentes tipos de datos para sus aplicaciones.

Al igual que una base de datos SQL o NoSQL, no hay restricciones en torno a la descentralización. Entonces, sabemos que estos serán nuestros datos para almacenar y podemos optimizar para leer y escribir.Pero en una cadena de bloques, la naturaleza de la misma es que tenemos estos datos que se van escribiendo a lo largo del tiempo, ya sea días, semanas, meses y años, y se escriben en estos bloques. Así que toda la innovación suele ocurrir en torno a las transacciones de escritura.Cuando escuchas sobre mucha de la innovación que está ocurriendo, a menudo escuchas discusiones sobre cuántas transacciones por segundo maneja este protocolo, cuánto cuesta la transacción, cuánto tiempo tarda en procesarse la transacción, cuál es el tiempo de bloque, y cosas así.Pero no se habla a menudo de cómo leer todos estos datos.

Entonces, lo que los desarrolladores solían hacer en el pasado era tomar estos protocolos de cadena de bloques, decidir los datos que necesitaban y construir sus propios servidores de indexación centralizados donde iban y recopilaban todos estos datos, los guardaban en una base de datos y abrían su propio punto de conexión de API encima de eso.El problema con esto era que era muy intensivo en recursos y en ingeniería, y también rompía toda la idea y los principios de seguridad en torno a la descentralización, porque los datos de la cadena de bloques se supone que son la fuente de verdad.Entonces, ¿cómo se hace realmente esto descentralizado? Si estás centralizando en una base de datos para leerla.Graph es un protocolo de indexación que permite a los desarrolladores construir estas API que leen todos estos datos, los indexan de manera descentralizada.Y aparecen en una red de nodos entre pares.Y luego los desarrolladores, una vez que los han implementado, pueden abrir sus puntos de conexión de API para que cualquier otro desarrollador construya aplicaciones front-end u otras aplicaciones encima de ellos.

Para explicarlo un poco más, una base de datos tradicional podría verse así, donde tenemos una base de datos, hemos construido un punto de conexión de API encima de eso, tal vez una función sin servidor o algún tipo de servidor.Vamos a enviar una solicitud a esta API.Luego leerá los datos.Luego los procesará, tal vez en un retorno.Y luego traerá esa respuesta de vuelta al cliente.Pero de nuevo, no podemos hacer esto cuando leemos datos directamente de la cadena, porque la cadena se considera la base de datos.Así que realmente no tenemos esta capa de cómputo en el espacio de la cadena de bloques.Entonces, ¿cuáles son algunos otros ejemplos de indexadores en la vida real?Bueno, Google o cualquier motor de búsqueda es un indexador.Cuando queremos encontrar información en la web, no podemos simplemente visitar todos los sitios web porque hay millones de sitios web ahí fuera.Entonces, ¿cómo encontramos la información que necesitamos?Bueno, Google y otros motores de búsqueda tienen esta idea de un sistema de indexación donde rastrean toda Internet, encuentran los datos relevantes, los almacenan en sus propias bases de datos centralizadas y luego abren un punto de conexión de API encima de eso, ya sea a través de una API real con la que podemos interactuar desde una aplicación, o en el caso de Google, simplemente tenemos un sitio web que podemos visitar.Y cuando ingresamos un término en el sitio web, va a sus bases de datos y busca lo que estamos buscando, y luego devuelve la conexión al sitio web que nos gustaría ver.Entonces, Google está indexando y poniéndolo disponible para ser consultado por nosotros en el front-end. Otro ejemplo es una biblioteca.Cuando vamos a una biblioteca, no caminamos por toda la biblioteca durante cuatro horas buscando el libro que queremos.Hay un sistema de indexación donde el sistema decimal Dewey o algo así nos puede decir exactamente dónde buscar un libro, y luego podemos ir directamente y encontrar ese libro.Entonces, en un sentido similar, estos subgrafos API se encuentran entre el contrato inteligente y la interfaz de usuario y permiten a los desarrolladores consultar y obtener diferentes tipos de datos que pueden necesitar para su aplicación típica.Así que tienes estos diferentes tipos de, um,

Watch more workshops on topic

Masterclass Web3 - Construyendo Tu Primer Dapp
React Advanced Conference 2021React Advanced Conference 2021
145 min
Masterclass Web3 - Construyendo Tu Primer Dapp
Top Content
Featured WorkshopFree
Nader Dabit
Nader Dabit
En esta masterclass, aprenderás cómo construir tu primer dapp de pila completa en la blockchain de Ethereum, leyendo y escribiendo datos en la red, y conectando una aplicación de front end al contrato que has desplegado. Al final de la masterclass, entenderás cómo configurar un entorno de desarrollo de pila completa, ejecutar un nodo local e interactuar con cualquier contrato inteligente usando React, HardHat y Ethers.js.
Construir con SvelteKit y GraphQL
GraphQL Galaxy 2021GraphQL Galaxy 2021
140 min
Construir con SvelteKit y GraphQL
Top Content
Featured WorkshopFree
Scott Spence
Scott Spence
¿Alguna vez has pensado en construir algo que no requiera mucho código de plantilla con un tamaño de paquete pequeño? En esta masterclass, Scott Spence irá desde el hola mundo hasta cubrir el enrutamiento y el uso de endpoints en SvelteKit. Configurarás una API de GraphQL en el backend y luego usarás consultas de GraphQL con SvelteKit para mostrar los datos de la API de GraphQL. Construirás un proyecto rápido y seguro que utiliza las características de SvelteKit, y luego lo desplegarás como un sitio completamente estático. Este curso es para los curiosos de Svelte que no han tenido una experiencia extensa con SvelteKit y quieren una comprensión más profunda de cómo usarlo en aplicaciones prácticas.

Tabla de contenidos:
- Inicio e introducción a Svelte
- Inicializar el proyecto frontend
- Recorrido por el proyecto esqueleto de SvelteKit
- Configurar el proyecto backend
- Consultar datos con GraphQL
- Recuperación de datos en el frontend con GraphQL
- Estilización
- Directivas de Svelte
- Enrutamiento en SvelteKit
- Endpoints en SvelteKit
- Despliegue en Netlify
- Navegación
- Mutaciones en GraphCMS
- Envío de mutaciones GraphQL a través de SvelteKit
- Preguntas y respuestas
Seguridad de tipo de extremo a extremo con React, GraphQL y Prisma
React Advanced Conference 2022React Advanced Conference 2022
95 min
Seguridad de tipo de extremo a extremo con React, GraphQL y Prisma
Featured WorkshopFree
Sabin Adams
Sabin Adams
En este masterclass, obtendrás una visión de primera mano de lo que es la seguridad de tipo de extremo a extremo y por qué es importante. Para lograr esto, construirás una API de GraphQL utilizando herramientas modernas y relevantes que serán consumidas por un cliente de React.
Prerrequisitos: - Node.js instalado en tu máquina (12.2.X / 14.X)- Se recomienda (pero no es obligatorio) utilizar VS Code para las tareas prácticas- Un IDE instalado (se recomienda VSCode)- (Bueno tener) *Un conocimiento básico de Node.js, React y TypeScript
GraphQL para Desarrolladores de React
GraphQL Galaxy 2022GraphQL Galaxy 2022
112 min
GraphQL para Desarrolladores de React
Featured Workshop
Roy Derks
Roy Derks
Hay muchas ventajas en utilizar GraphQL como fuente de datos para el desarrollo frontend, en comparación con las API REST. Nosotros, los desarrolladores, por ejemplo, necesitamos escribir mucho código imperativo para recuperar datos y mostrarlos en nuestras aplicaciones y manejar el estado. Con GraphQL, no solo puedes reducir la cantidad de código necesario para la obtención de datos y la gestión del estado, sino que también obtendrás una mayor flexibilidad, mejor rendimiento y, sobre todo, una mejor experiencia de desarrollo. En este masterclass aprenderás cómo GraphQL puede mejorar tu trabajo como desarrollador frontend y cómo manejar GraphQL en tu aplicación frontend de React.
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
React Summit 2022React Summit 2022
173 min
Construye una aplicación WordPress sin cabeza con Next.js y WPGraphQL
Top Content
WorkshopFree
Kellen Mace
Kellen Mace
En esta masterclass, aprenderás cómo construir una aplicación Next.js que utiliza Apollo Client para obtener datos de un backend de WordPress sin cabeza y usarlo para renderizar las páginas de tu aplicación. Aprenderás cuándo debes considerar una arquitectura de WordPress sin cabeza, cómo convertir un backend de WordPress en un servidor GraphQL, cómo componer consultas usando el IDE GraphiQL, cómo colocar fragmentos GraphQL con tus componentes, y más.
Modelado de Bases de Datos Relacionales para GraphQL
GraphQL Galaxy 2020GraphQL Galaxy 2020
106 min
Modelado de Bases de Datos Relacionales para GraphQL
Top Content
WorkshopFree
Adron Hall
Adron Hall
En esta masterclass profundizaremos en el modelado de datos. Comenzaremos con una discusión sobre varios tipos de bases de datos y cómo se mapean a GraphQL. Una vez que se haya establecido esa base, el enfoque se desplazará a tipos específicos de bases de datos y cómo construir modelos de datos que funcionen mejor para GraphQL en varios escenarios.
Índice de contenidosParte 1 - Hora 1      a. Modelado de Datos de Bases de Datos Relacionales      b. Comparando Bases de Datos Relacionales y NoSQL      c. GraphQL con la Base de Datos en menteParte 2 - Hora 2      a. Diseño de Modelos de Datos Relacionales      b. Relación, Construcción de Tablas Multijoin      c. Complejidades de Consulta de Modelado de Datos Relacionales y GraphQL
Prerrequisitos      a. Herramienta de modelado de datos. El formador utilizará dbdiagram      b. Postgres, aunque no es necesario instalar esto localmente, ya que estaré utilizando una imagen de Dicker de Postgres, de Docker Hub para todos los ejemplos      c. Hasura

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

De GraphQL Zero a GraphQL Hero con RedwoodJS
GraphQL Galaxy 2021GraphQL Galaxy 2021
32 min
De GraphQL Zero a GraphQL Hero con RedwoodJS
Top Content
Todos amamos GraphQL, pero puede ser desalentador poner en marcha un servidor y mantener tu código organizado, mantenible y testeable a largo plazo. ¡No más! Ven a ver cómo paso de un directorio vacío a una API GraphQL completamente desarrollada en cuestión de minutos. Además, verás lo fácil que es usar y crear directivas para limpiar aún más tu código. ¡Vas a amar aún más GraphQL una vez que hagas las cosas Redwood Easy!
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Vue.js London Live 2021Vue.js London Live 2021
24 min
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Top Content
¿Cuántas veces has implementado el mismo flujo en tu aplicación: verificar si los datos ya se han obtenido del servidor, si es así - renderizar los datos, si no - obtener estos datos y luego renderizarlos? Creo que lo he hecho más de diez veces yo mismo y he visto la pregunta sobre este flujo más de cincuenta veces. Desafortunadamente, nuestra biblioteca de gestión de estado predeterminada, Vuex, no proporciona ninguna solución para esto.Para la aplicación basada en GraphQL, había una alternativa para usar el cliente Apollo que proporcionaba herramientas para trabajar con la caché. Pero, ¿qué pasa si usas REST? Afortunadamente, ahora tenemos una alternativa de Vue a una biblioteca de react-query que proporciona una buena solución para trabajar con la caché del servidor. En esta charla, explicaré la distinción entre el estado de la aplicación local y la caché del servidor local y haré algo de codificación en vivo para mostrar cómo trabajar con este último.
Despídete de tus esquemas de API con tRPC
React Day Berlin 2022React Day Berlin 2022
29 min
Despídete de tus esquemas de API con tRPC
¿Sabías que podemos reemplazar los esquemas de API con una biblioteca liviana y segura? Con tRPC, puedes reemplazar fácilmente GraphQL o REST con formas inferidas sin esquemas ni generación de código. En esta charla, entenderemos los beneficios de tRPC y cómo aplicarlo en una aplicación de NextJs. Si quieres reducir la complejidad de tu proyecto, no te puedes perder esta charla.
Baterías Incluidas Reimaginadas - El Resurgimiento de GraphQL Yoga
GraphQL Galaxy 2021GraphQL Galaxy 2021
33 min
Baterías Incluidas Reimaginadas - El Resurgimiento de GraphQL Yoga
El Guild ha lanzado recientemente Envelop - un nuevo y moderno Framework de Servidor GraphQL y sistema de plugins. En esta charla compartiré una breve descripción de Envelop y por qué probablemente deberías actualizar tu servidor GraphQL existente a él.
Aplicaciones sólidas de React y GraphQL para personas con prisa
GraphQL Galaxy 2022GraphQL Galaxy 2022
29 min
Aplicaciones sólidas de React y GraphQL para personas con prisa
En esta charla, veremos algunas de las opciones modernas para construir una aplicación full-stack de React y GraphQL con convenciones sólidas y cómo esto puede ser de enorme beneficio para ti y tu equipo. Nos enfocaremos específicamente en RedwoodJS, un framework full stack de React que a menudo se llama 'Ruby on Rails para React'.