The Graph Network > Developing


Reading time: 4 min

Developers are the demand side of The Graph ecosystem. Developers build subgraphs and publish them to The Graph Network. Then, they query live subgraphs with GraphQL in order to power their applications.

Жизненный цикл подграфа

Ссылка на этот раздел

Subgraphs deployed to the network have a defined lifecycle.

As with all subgraph development, it starts with local development and testing. Developers can use the same local setup whether they are building for The Graph Network, the hosted service or a local Graph Node, leveraging graph-cli and graph-ts to build their subgraph. Developers are encouraged to use tools such as Matchstick for unit testing to improve the robustness of their subgraphs.

There are certain constraints on The Graph Network, in terms of feature and network support. Only subgraphs on supported networks will earn indexing rewards, and subgraphs which fetch data from IPFS are also not eligible.

Deploy to the Subgraph Studio

Ссылка на этот раздел

Once defined, the subgraph can be built and deployed to the Subgraph Studio. The Subgraph Studio is a sandbox environment which will index the deployed subgraph and make it available for rate-limited development and testing. This gives developers an opportunity to verify that their subgraph does not encounter any indexing errors, and works as expected.

When the developer is happy with their subgraph, they can publish it to The Graph Network. This is an on-chain action, which registers the subgraph so that it is discoverable by Indexers. Published subgraphs have a corresponding NFT, which is then easily transferable. The published subgraph has associated metadata, which provides other network participants with useful context and information.

Signal to Encourage Indexing

Ссылка на этот раздел

Published subgraphs are unlikely to be picked up by Indexers without the addition of signal. Signal is locked GRT associated with a given subgraph, which indicates to Indexers that a given subgraph will receive query volume, and also contributes to the indexing rewards available for processing it. Subgraph developers will generally add signal to their subgraph, in order to encourage indexing. Third party Curators may also signal on a given subgraph, if they deem the subgraph likely to drive query volume.

Querying & Application Development

Ссылка на этот раздел

Once a subgraph has been processed by Indexers and is available for querying, developers can start to use the subgraph in their applications. Developers query subgraphs via a gateway, which forwards their queries to an Indexer who has processed the subgraph, paying query fees in GRT.

Чтобы cделать запросы, разработчикам нужно сгенерировать ключ API, что можно произвести в Subgraph Studio. Этот ключ API должен быть профинансирован токеном GRT, чтобы оплачивать комиссии за запросы. Разработчики могут установить максимальную оплату за запрос, чтобы контролировать свои расходы, и ограничить свой ключ API определенным подграфом или исходным доменом. Subgraph Studio предоставляет разработчикам данные об использовании их ключей API с течением времени.

Developers are also able to express an Indexer preference to the gateway, for example preferring Indexers whose query response is faster, or whose data is most up to date. These controls are set in the Subgraph Studio.

After a time a subgraph developer may want to update their subgraph, perhaps fixing a bug or adding new functionality. The subgraph developer may deploy new version(s) of their subgraph to the Subgraph Studio for rate-limited development and testing.

Once the Subgraph Developer is ready to update, they can initiate a transaction to point their subgraph at the new version. Updating the subgraph migrates any signal to the new version (assuming the user who applied the signal selected "auto-migrate"), which also incurs a migration tax. This signal migration should prompt Indexers to start indexing the new version of the subgraph, so it should soon become available for querying.

At some point a developer may decide that they no longer need a published subgraph. At that point they may deprecate the subgraph, which returns any signalled GRT to the Curators.

Some developers will engage with the full subgraph lifecycle on the network, publishing, querying and iterating on their own subgraphs. Some may be focused on subgraph development, building open APIs which others can build on. Some may be application focused, querying subgraphs deployed by others.

Developers and Network Economics

Ссылка на этот раздел

Developers are a key economic actor in the network, locking up GRT in order to encourage indexing, and crucially querying subgraphs, which is the network's primary value exchange. Subgraph developers also burn GRT whenever a subgraph is updated.

Редактировать страницу

Graph Explorer
Редактировать страницу