From ac4490897cc818a2ba84354b42ef6386f82ba0bd Mon Sep 17 00:00:00 2001 From: Ana Loznianu Date: Sat, 15 Jul 2023 09:35:21 +0000 Subject: [PATCH] GITBOOK-647: Added subgraph diagram --- .gitbook/assets/subgraph.png | Bin 0 -> 21730 bytes developers/subgraph/README.md | 13 +++++-------- 2 files changed, 5 insertions(+), 8 deletions(-) create mode 100644 .gitbook/assets/subgraph.png diff --git a/.gitbook/assets/subgraph.png b/.gitbook/assets/subgraph.png new file mode 100644 index 0000000000000000000000000000000000000000..d873f928827f426179cf4fa1bb26421c3281bb25 GIT binary patch literal 21730 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 The [Ocean Subgraph](https://github.com/oceanprotocol/ocean-subgraph) is built on top of [The Graph](https://thegraph.com/)(the popular :sunglasses: indexing and querying protocol for blockchain data). It is an essential component of the Ocean Protocol ecosystem. It provides an off-chain service that utilizes GraphQL to offer efficient access to information related to datatokens, users, and balances. By leveraging the subgraph, data retrieval becomes faster compared to an on-chain query. The data sourced from the Ocean subgraph can be accessed through [GraphQL](https://graphql.org/learn/) queries. -Imagine this 💭: if you were to always fetch data from the on-chain, you'd start to feel a little...old :older\_woman: Like your queries are stuck in a time warp. But fear not! When you embrace the power of the subgraph, data becomes your elixir of youth. It's snappy, it's swift, and it's refreshingly retrievable. With the subgraph, you can sail through data like a sprightly dolphin 🐬 +Imagine this 💭: if you were to always fetch data from the on-chain, you'd start to feel a little...old :older\_woman: Like your queries are stuck in a time warp. But fear not! When you embrace the power of the subgraph, data becomes your elixir of youth. -
+

Ocean Subgraph

-

High-speed subgraph

- -
+The subgraph reads data from the blockchain, extracting relevant information. Additionally, it indexes events emitted from the Ocean smart contracts. This collected data is then made accessible to any decentralized applications (dApps) that require it, through GraphQL queries. The subgraph organizes and presents the data in a JSON format, facilitating efficient and structured access for dApps. ### How to use the Subgraph? @@ -25,7 +23,7 @@ You can utilize the Subgraph instances provided by Ocean Protocol or deploy your If you're eager to use the Ocean Subgraph, here's some important information for you: We've deployed an Ocean Subgraph for each of the supported networks. Take a look at the table below, where you'll find handy links to both the subgraph instance and GraphiQL for each network. With the user-friendly GraphiQL interface, you can execute GraphQL queries directly, without any additional setup. It's a breeze! :ocean: {% hint style="info" %} -When it comes to fetching valuable information about [Data NFTs](../contracts/data-nfts.md) and [datatokens](../contracts/datatokens.md), the subgraph queries play a crucial role. They retrieve numerous details and information, but, the Subgraph cannot decrypt the DDO. But worry not, we have a dedicated component for that—[Aquarius](../aquarius/README.md)! 🐬 Aquarius communicates with the provider and decrypts the encrypted information, making it readily available for queries. +When it comes to fetching valuable information about [Data NFTs](../contracts/data-nfts.md) and [datatokens](../contracts/datatokens.md), the subgraph queries play a crucial role. They retrieve numerous details and information, but, the Subgraph cannot decrypt the DDO. But worry not, we have a dedicated component for that—[Aquarius](../aquarius/)! 🐬 Aquarius communicates with the provider and decrypts the encrypted information, making it readily available for queries. {% endhint %} ### Ocean Subgraph deployments @@ -44,8 +42,7 @@ When it comes to fetching valuable information about [Data NFTs](../contracts/da When making subgraph queries, please remember that the parameters you send, such as a datatoken address or a data NFT address, should be in **lowercase**. This is an essential requirement to ensure accurate processing of the queries. We kindly request your attention to this detail to facilitate a seamless query experience. {% endhint %} -In the following pages, we've prepared a few examples just for you. From running queries to exploring data, you'll have the chance to dive right into the Ocean Subgraph data. There, you'll find a wide range of additional code snippets and examples that showcase the power and versatility of the Ocean Subgraph. So, grab a virtual snorkel, and let's explore together! 🤿\ - +In the following pages, we've prepared a few examples just for you. From running queries to exploring data, you'll have the chance to dive right into the Ocean Subgraph data. There, you'll find a wide range of additional code snippets and examples that showcase the power and versatility of the Ocean Subgraph. So, grab a virtual snorkel, and let's explore together! 🤿\\ {% hint style="info" %} For more examples, visit the subgraph GitHub [repository](https://github.com/oceanprotocol/ocean-subgraph), where you'll discover an extensive collection of code snippets and examples that highlight the Subgraph's capabilities and adaptability.