Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions website/pages/en/cookbook/_meta.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@ export default {
derivedfrom: 'Subgraph Best Practice 2: Manage Arrays with @derivedFrom',
'immutable-entities-bytes-as-ids': 'Subgraph Best Practice 3: Using Immutable Entities and Bytes as IDs',
'avoid-eth-calls': 'Subgraph Best Practice 4: Avoid eth_calls',
'transfer-to-the-graph': '',
}
104 changes: 104 additions & 0 deletions website/pages/en/cookbook/transfer-to-the-graph.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
---
title: Tranfer to The Graph
---

Learn how to quickly upgrade your subgraphs from any platform to [The Graph's decentralized network](https://thegraph.com/networks/).

## Benefits of Switching to The Graph

- Use the same subgraph that your apps already use with zero-downtime migration.
- Increase reliability from a global network supported by 100+ Indexers.
- Receive lightning-fast support for subgraphs 24/7, with an on-call engineering team.

## Upgrade Your Subgraph to The Graph in 3 Easy Steps

1. [Set Up Your Studio Environment](/cookbook/transfer-to-the-graph/#1-set-up-your-studio-environment)
2. [Deploy Your Subgraph to Studio](/cookbook/transfer-to-the-graph/#2-deploy-your-subgraph-to-studio)
3. [Publish to The Graph Network](/cookbook/transfer-to-the-graph/#publish-your-subgraph-to-the-graphs-decentralized-network)

## 1. Set Up Your Studio Environment

### Create a Subgraph in Subgraph Studio

- Go to [Subgraph Studio](https://thegraph.com/studio/) and connect your wallet.
- Click "Create a Subgraph". It is recommended to name the subgraph in Title Case: "Subgraph Name Chain Name".

> Note: After publishing, the subgraph name will be editable but requires on-chain action each time, so name it properly.

### Install the Graph CLI⁠

You must have [Node.js](https://nodejs.org/) and a package manager of your choice (`npm` or `pnpm`) installed to use the Graph CLI. Check for the [most recent](https://github.com/graphprotocol/graph-tooling/releases?q=%40graphprotocol%2Fgraph-cli&expanded=true) CLI version.

On your local machine, run the following command:

Using [npm](https://www.npmjs.com/):

```sh
npm install -g @graphprotocol/graph-cli@latest
```

Use the following command to create a subgraph in Studio using the CLI:

```sh
graph init --product subgraph-studio
```

### Authenticate Your Subgraph

In The Graph CLI, use the auth command seen in Subgraph Studio:

```sh
graph auth --studio <your-auth-code>
```

## 2. Deploy Your Subgraph to Studio

If you have your source code, you can easily deploy it to Studio. However, if you don't here's a quick way to deploy your subgraph.

In The Graph CLI, run the following command:

```sh
graph deploy --studio <slug> --ipfs-hash <your-subgraph-ipfs-hash>

```

> **Note:** Every subgraph has an IPFS hash (Deployment ID), which looks like this: "Qmasdfad...". To deploy simply use this **IPFS hash**. You’ll be prompted to enter a version (e.g., v0.0.1).

## 3. Publish Your Subgraph to The Graph Network

![publish button](https://edgeandnode.notion.site/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2Fa7d6afae-8784-4b15-a90e-ee8f6ee007ba%2F2f9c4526-123d-4164-8ea8-39959c8babbf%2FUntitled.png?table=block&id=37005371-76b4-4780-b044-040a570e3af6&spaceId=a7d6afae-8784-4b15-a90e-ee8f6ee007ba&width=1420&userId=&cache=v2)

### Query Your Subgraph

> To attract about 3 indexers to query your subgraph, it’s recommended to curate at least 3,000 GRT. To learn more about curating, check out [Curating](/network/curating/) on The Graph.

You can start [querying](/querying/querying-the-graph/) any subgraph by sending a GraphQL query into the subgraph’s query URL endpoint, which is located at the top of its Explorer page in Subgraph Studio.

#### Example

[CryptoPunks Ethereum subgraph](https://thegraph.com/explorer/subgraphs/HdVdERFUe8h61vm2fDyycHgxjsde5PbB832NHgJfZNqK) by Messari:

![Query URL](https://lh7-us.googleusercontent.com/docsz/AD_4nXebivsPOUjPHAa3UVtvxoYTFXaGBao9pQOAJvFK0S7Uv0scfL6TcTVjmNCzT4DgsIloAQyrPTCqHjFPtmjyrzoKkfSeV28FjS32F9-aJJm0ILAHey2gqMr7Seu4IqPz2d__QotsWG3OKv2dEghiD74eypzs?key=fnI6SyFgXU9SZRNX5C5vPQ)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same with screenshot


The query URL for this subgraph is:

```sh
https://gateway-arbitrum.network.thegraph.com/api/`**your-own-api-key**`/subgraphs/id/HdVdERFUe8h61vm2fDyycgxjsde5PbB832NHgJfZNqK
```

Now, you simply need to fill in **your own API Key** to start sending GraphQL queries to this endpoint.

### Getting your own API Key

You can create API Keys in Subgraph Studio under the “API Keys” menu at the top of the page:

![API keys](https://lh7-us.googleusercontent.com/docsz/AD_4nXdz7H8hSRf2XqrU0jN3p3KbmuptHvQJbhRHOJh67nBfwh8RVnhTsCFDGA_JQUFizyMn7psQO0Vgk6Vy7cKYH47OyTq5PqycB0xxLyF4kSPsT7hYdMv2MEzAo433sJT6VlQbUAzgPnSxKI9a5Tn3ShSzaxI?key=fnI6SyFgXU9SZRNX5C5vPQ)

### Monitor Subgraph Status

Once you upgrade, you can access and manage your subgraphs in [Subgraph Studio](https://thegraph.com/studio/) and explore all subgraphs in [The Graph Explorer](https://thegraph.com/networks/).

### Additional Resources

- To quickly create and publish a new subgraph, check out the [Quick Start](/quick-start/).
- To explore all the ways you can optimize & customize your subgraph for a better performance, read more about [creating a subgraph here](/developing/creating-a-subgraph/).
Loading