Actualizando un Subgrafo Existente a la Red de The Graph
Reading time: 7 min
Esta es una guía sobre cómo actualizar tu subgrafo desde el servicio alojado a la red descentralizada de The Graph. ¡Más de 1,000 subgráfos se han actualizado con éxito a la red de The Graph, incluyendo proyectos como Snapshot, Loopring, Audius, Premia, Livepeer, Uma, Curve, Lido, y muchos más!
El proceso de actualización es rápido y tus subgráfos se beneficiarán para siempre de la confiabilidad y rendimiento que solo puedes obtener en la red de The Graph.
- You have a subgraph deployed on the hosted service.
If you are logged in to the hosted service, you can access a simple flow to upgrade your subgraphs from , or from an individual subgraph page.
This process typically takes less than five minutes.
- Select the subgraph(s) you want to upgrade.
- Connect or enter the receiving wallet (the wallet that will become the owner of the subgraph).
- Click the "Upgrade" button.
That's it! Your subgraphs will be deployed to Subgraph Studio, and published on The Graph Network. You can access the to manage your subgraphs, logging in with the wallet specified during the upgrade process.
You'll be able to view your subgraphs live on the decentralized network via .
When your subgraph is upgraded, it will automatically be indexed by the upgrade indexer. If the indexed chain is , you can add some GRT as "signal", to attract more indexers. It is recommended to curate your subgraph with at least 3,000 GRT to attract 2-3 Indexers for higher quality of service.
You can start to query your subgraph right away on The Graph Network, once you have generated an API key.
Puedes generar una clave API en Subgraph Studio .
You can use this API key to query subgraphs on The Graph Network. All users start on the Free Plan, which includes 100,000 free queries per month. Developers can sign up for the Growth Plan by connecting a credit or debit card, or by depositing GRT to Subgraph Studio billing system.
Se recomienda asegurar la API limitando su uso de dos maneras:
- Subgrafos autorizados
- Dominio autorizado
Now you can check the indexing status of the Indexers on the network in Graph Explorer (example ). The green line at the top indicates that at the time of posting 7 Indexers successfully indexed that subgraph. Also in the Indexer tab you can see which Indexers picked up your subgraph.
Tan pronto como el primer Indexador haya indexado completamente tu subgrafo, podrás empezar a consultarlo en la red descentralizada. Para recuperar la URL de consulta de tu subgrafo, puedes copiar/pegar haciendo clic en el símbolo que aparece junto a la URL de consulta. Verás algo así:
https://gateway.thegraph.com/api/[api-key]/subgraphs/id/S9ihna8D733WTEShJ1KctSTCvY1VJ7gdVwhUujq4Ejo
Importante: Asegúrate de reemplazar [api-key]
con una clave API real generada en la sección anterior.
Ahora puedes usar esa URL de consulta en tu dapp para enviar tus solicitudes de GraphQL.
¡Felicitaciones! ¡Ahora eres un pionero de la descentralización!
Nota: Debido a la naturaleza distribuida de la red, podría ser el caso que diferentes Indexadores hayan indexado hasta bloques diferentes. Para recibir solo datos actualizados, puedes especificar el bloque mínimo que un Indexador debe haber indexado para atender tu consulta con el argumento de campo: { number_gte: $minBlock }
, como se muestra en el ejemplo a continuación:
{stakers(block: { number_gte: 14486109 }) {id}}
Más información sobre la naturaleza de la red y cómo manejar reorganizaciones se describe en el artículo de documentación .
If you would like to update an existing subgraph on the network, you can do this by deploying a new version of your subgraph to Subgraph Studio using the Graph CLI.
- Make changes to your current subgraph.
- Deploya lo siguiente y especifica la nueva versión en el comando (por ejemplo, v0.0.1, v0.0.2, etc.):
graph deploy --studio --version <version> <SUBGRAPH_SLUG>
- Test the new version in Subgraph Studio by querying in the playground
- Publica la nueva versión en The Graph Network. Recuerda que esto requiere gas (como se describe en la sección anterior).
Nota: La curación en Arbitrum tiene una curva de vinculación plana. Obtén más información sobre Arbitrum .
Una actualización requiere que GRT se migre de la antigua versión del subgrafo a la nueva versión. Esto significa que para cada actualización, se creará una nueva curva de vinculación (más información sobre las curvas de vinculación ).
La nueva curva de vinculación cobra el impuesto de curación del 1% sobre todo el GRT que se está migrando a la nueva versión. El propietario debe pagar el 50% de esto, es decir, el 1.25%. El otro 1.25% es absorbido por todos los curadores como una tarifa. Este diseño de incentivos está en su lugar para evitar que el propietario de un subgrafo pueda agotar todos los fondos de sus curadores con llamadas de actualización recursivas. Si no hay actividad de curación, tendrás que pagar un mínimo de 100 GRT para señalizar tu propio subgrafo.
Hagamos un ejemplo, esto es solo el caso si tu subgrafo está siendo curado activamente en:
- Se señalizan 100.000 GRT mediante la auto-migración en v1 de un subgrafo
- Actualizaciones del propietario a la versión 2. Se migra 100,000 GRT a una nueva curva de vinculación, donde 97,500 GRT se colocan en la nueva curva y 2,500 GRT se queman
- Luego, al propietario se le queman 1250 GRT para pagar la mitad de la tarifa. El propietario debe tener esto en su billetera antes de la actualización; de lo contrario, la actualización no se llevará a cabo. Esto sucede en la misma transacción que la actualización.
Aunque este mecanismo está actualmente activo en la red, la comunidad está discutiendo formas de reducir el costo de las actualizaciones para los desarrolladores de subgrafos.
Si estás realizando muchos cambios en tu subgrafo, no es una buena idea actualizarlo continuamente y asumir los costos de la actualización. Mantener una versión estable y consistente de tu subgrafo es crucial, no solo desde la perspectiva de costos, sino también para que los Indexers puedan confiar en sus tiempos de sincronización. Deberías informar a los Indexers cuando planeas una actualización para que los tiempos de sincronización de los Indexers no se vean afectados. Siéntete libre de utilizar el canal en Discord para notificar a los Indexers cuando estás versionando tus subgrafos.
Los subgrafos son API abiertas que los desarrolladores externos están aprovechando. Las API abiertas deben seguir estándares estrictos para que no rompan las aplicaciones de los desarrolladores externos. En la red de The Graph, un desarrollador de subgrafos debe tener en cuenta a los Indexadores y el tiempo que les lleva sincronizar un nuevo subgrafo, así como también a otros desarrolladores que están utilizando sus subgrafos.
You can update the metadata of your subgraphs without having to publish a new version. The metadata includes the subgraph name, image, description, website URL, source code URL, and categories. Developers can do this by updating their subgraph details in Subgraph Studio where you can edit all applicable fields.
Asegúrate de que la opción Actualizar Detalles del Subgrafo en el Explorador esté marcada y haz clic en Guardar. Si esto está marcado, se generará una transacción en cadena que actualiza los detalles del subgrafo en el Explorador sin necesidad de publicar una nueva versión con una implementación diferente.
- Aprovechar un nombre ENS para el Desarrollo de Subgrafos:
- Cuanto más completos estén tus perfiles, más posibilidades tendrás de que tus subgrafos sean indexados y curados.
Sigue los pasos para retirar tu subgrafo y eliminarlo de la red de The Graph.
El servicio alojado se estableció para permitir a los desarrolladores desplegar sus subgrafos sin restricciones.
On The Graph Network, query fees have to be paid as a core part of the protocol's incentives. For more information on subscribing to APIs and paying the query fees, check out billing documentation .
¡Si aún estás confundido, no te preocupes! Consulta los siguientes recursos o mira nuestra guía en video sobre cómo actualizar subgrafos a la red descentralizada a continuación: