Web3 Developer, solidity, hardhat, truffle, JS, ethernal learner
Share Dialog
Share Dialog
Web3 Developer, solidity, hardhat, truffle, JS, ethernal learner
¿Qué es The Graph?
The Graph es un protocolo descentralizado que sirve para ordenar y consultar datos directamente desde diferentes blockchains de forma sencilla.Está basado en GraphQL que es un lenguaje de querys para diseñar APIs dándole poder al cliente para obtener de forma exacta la data que necesita y nada más.
Store.
Sin The Graph.
No existía un tipo de guardado automático una vez obtenida la data deseada, se usaba y era desechada o se guardaba de forma manual en una base de datos y si se quería volver a obtener la data se tenía que ejecutar de nuevo el mismo script.

Con The Graph.
Una vez mapeada la data se guarda en el store que proveen los nodos para que esté disponible para los fines que el usuario le quiera dar.
Transactions & Events
Tomando como ejemplo el siguiente Smart Contract:

Digamos que queremos obtener:** Qué address guardo qué número en cual bloque **
Sin The Graph:
A simple vista podemos deducir que tendremos un uso intensivo de peticiones a la librería de web3 y una sobre búsqueda de la data deseada para las transacciones pasadas, tendríamos suerte si el contrato es nuevo y podemos escuchar el evento desde el comienzo.En conclusión esta no sería una solución óptima, porque no funcionaria correctamente para contratos ya desplegados, y requiere más llamadas a la blockchain.
Con The Graph:
Bastará con apuntar a la dirección del contrato y esperar a que The Graph termine el mapeo del evento StoredNumber para obtener la información deseada.
En mi opinión no experta las principales “limitaciones” que he encontrado son sobre lo nueva que es la tecnología pero en general creo que tiene un potencial de crecimiento muy grande.
**Documentación poco clara.**Esta parte es importante principalmente porque al comenzar a desarrollar un subgrafo no sabes donde encontrar ciertas cosas dentro de la documentación o simplemente no están descritas de forma clara por ejemplo las propiedades de event y call.
No se pueden instalar paquetes externos como web.js, los mappings están escritos en AssemblyScript lo que le quita la compatibilidad con otras librerías no escritas en el mismo lenguaje, aunque esto se soluciona del lado del cliente.
Necesitas desplegar diferentes subgrafos para cada red, en el caso de curve que está en distintas redes necesitarías crear y desplegar un subgrafo para cada red, lo que hace un poco tedioso el mantenimiento de un proyecto que esté disponible en muchas redes.
Pocos ejemplos claros de subgrafos avanzados, en los casos donde un contrato tenga una arquitectura de tipo proxy o factory hay pocos ejemplos y en el caso de que un contrato no este bien diseñado con eventos emitiendo la data necesaria hay muy pocas referencias de como hacerlo de forma eficiente.
En Conclusión:
Aun tengo puntos que conectar, la información es algo dispersa y a veces de baja calidad y es mi primera interacción con la herramienta, agradezco a las personas que se tomaron el tiempo en responder mis dudas dentro de los grupos de The Graph: The Graph Español (No Oficial). The Graph
Referencias: Web3.js The Graph Docs The Graph Academy
¿Qué es The Graph?
The Graph es un protocolo descentralizado que sirve para ordenar y consultar datos directamente desde diferentes blockchains de forma sencilla.Está basado en GraphQL que es un lenguaje de querys para diseñar APIs dándole poder al cliente para obtener de forma exacta la data que necesita y nada más.
Store.
Sin The Graph.
No existía un tipo de guardado automático una vez obtenida la data deseada, se usaba y era desechada o se guardaba de forma manual en una base de datos y si se quería volver a obtener la data se tenía que ejecutar de nuevo el mismo script.

Con The Graph.
Una vez mapeada la data se guarda en el store que proveen los nodos para que esté disponible para los fines que el usuario le quiera dar.
Transactions & Events
Tomando como ejemplo el siguiente Smart Contract:

Digamos que queremos obtener:** Qué address guardo qué número en cual bloque **
Sin The Graph:
A simple vista podemos deducir que tendremos un uso intensivo de peticiones a la librería de web3 y una sobre búsqueda de la data deseada para las transacciones pasadas, tendríamos suerte si el contrato es nuevo y podemos escuchar el evento desde el comienzo.En conclusión esta no sería una solución óptima, porque no funcionaria correctamente para contratos ya desplegados, y requiere más llamadas a la blockchain.
Con The Graph:
Bastará con apuntar a la dirección del contrato y esperar a que The Graph termine el mapeo del evento StoredNumber para obtener la información deseada.
En mi opinión no experta las principales “limitaciones” que he encontrado son sobre lo nueva que es la tecnología pero en general creo que tiene un potencial de crecimiento muy grande.
**Documentación poco clara.**Esta parte es importante principalmente porque al comenzar a desarrollar un subgrafo no sabes donde encontrar ciertas cosas dentro de la documentación o simplemente no están descritas de forma clara por ejemplo las propiedades de event y call.
No se pueden instalar paquetes externos como web.js, los mappings están escritos en AssemblyScript lo que le quita la compatibilidad con otras librerías no escritas en el mismo lenguaje, aunque esto se soluciona del lado del cliente.
Necesitas desplegar diferentes subgrafos para cada red, en el caso de curve que está en distintas redes necesitarías crear y desplegar un subgrafo para cada red, lo que hace un poco tedioso el mantenimiento de un proyecto que esté disponible en muchas redes.
Pocos ejemplos claros de subgrafos avanzados, en los casos donde un contrato tenga una arquitectura de tipo proxy o factory hay pocos ejemplos y en el caso de que un contrato no este bien diseñado con eventos emitiendo la data necesaria hay muy pocas referencias de como hacerlo de forma eficiente.
En Conclusión:
Aun tengo puntos que conectar, la información es algo dispersa y a veces de baja calidad y es mi primera interacción con la herramienta, agradezco a las personas que se tomaron el tiempo en responder mis dudas dentro de los grupos de The Graph: The Graph Español (No Oficial). The Graph
Referencias: Web3.js The Graph Docs The Graph Academy

Subscribe to 0xVato

Subscribe to 0xVato
<100 subscribers
<100 subscribers
No activity yet