Skip to content

Commit e7619e8

Browse files
committed
Adding two paths
1 parent df128c6 commit e7619e8

File tree

1 file changed

+70
-30
lines changed

1 file changed

+70
-30
lines changed

website/src/pages/en/subgraphs/quick-start.mdx

Lines changed: 70 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ By the end, you'll have:
88

99
- Initialized a Subgraph from a smart contract
1010
- Deployed it to Subgraph Studio for testing
11-
- Published to The Graph Network for decentralized indexing
11+
- Published to The Graph Network for decentralized indexing using Studio or CLI
1212

1313
## Prerequisites
1414

@@ -51,7 +51,7 @@ graph --version
5151

5252
> You can find commands for your specific Subgraph in [Subgraph Studio](https://thegraph.com/studio/).
5353
54-
The following command initializes your Subgraph from an existing contract and indexes events:
54+
Initialize your Subgraph from an existing contract:
5555

5656
```sh
5757
graph init
@@ -63,7 +63,7 @@ When you initialize your Subgraph, the CLI will ask you for the following inform
6363
- **Subgraph slug**: Create a name for your Subgraph. Your Subgraph slug is an identifier for your Subgraph.
6464
- **Directory**: Choose a directory to create your Subgraph in.
6565
- **Ethereum network** (optional): You may need to specify which EVM-compatible network your Subgraph will be indexing data from.
66-
- **Contract address**: Locate the smart contract address youd like to query data from.
66+
- **Contract address**: Locate the smart contract address you'd like to query data from.
6767
- **ABI**: If the ABI is not auto-populated, you will need to input it manually as a JSON file.
6868
- **Start Block**: You should input the start block where the contract was deployed to optimize Subgraph indexing of blockchain data.
6969
- **Contract Name**: Input the name of your contract.
@@ -76,67 +76,107 @@ See the following screenshot for an example of what to expect when initializing
7676

7777
### 4. Edit your Subgraph
7878

79-
When making changes to the Subgraph, you will mainly work with three files:
79+
When making changes to the Subgraph, you will primarily work with three files:
8080

81-
- Manifest (`subgraph.yaml`) - defines what data sources your Subgraph will index.
82-
- Schema (`schema.graphql`) - defines what data you wish to retrieve from the Subgraph.
83-
- AssemblyScript Mappings (`mapping.ts`) - translates data from your data sources to the entities defined in the schema.
81+
- Manifest (`subgraph.yaml`): Defines what data sources your Subgraph will index.
82+
- Schema (`schema.graphql`): Defines what data you wish to retrieve from the Subgraph.
83+
- AssemblyScript Mappings (`mapping.ts`): Translates data from your data sources to the entities defined in the schema.
8484

85-
For a detailed breakdown on how to write your Subgraph, check out [Creating a Subgraph](/developing/creating-a-subgraph/).
85+
For a detailed breakdown on how to write your Subgraph, refer to [Creating a Subgraph](/subgraphs/developing/creating/starting-your-subgraph/).
8686

87-
### 5. Deploy your Subgraph
87+
## Path 1: Studio Approach
8888

89-
When you **deploy** a Subgraph, you push it to [Subgraph Studio](https://thegraph.com/studio/), where you can test, stage and review it. A deployed Subgraph's indexing is performed by the [Upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/), which is a single Indexer owned and operated by Edge & Node. A **deployed** Subgraph is free to use, rate-limited, not visible to the public, and meant to be used for development, staging, and testing purposes.
89+
### 5. Build your Subgraph
90+
91+
Run the following:
92+
93+
```sh
94+
graph codegen && graph build
95+
```
9096

91-
Once your Subgraph is written, run the following commands:
97+
### 6. Deploy your Subgraph to Subgraph Studio
9298

93-
```sh
94-
graph codegen && graph build
95-
```
99+
When you **deploy** a Subgraph, you push it to [Subgraph Studio](https://thegraph.com/studio/), where you can test, stage and review it. A deployed Subgraph's indexing is performed by the [Upgrade Indexer](https://thegraph.com/blog/upgrade-indexer/), which is a single Indexer owned and operated by Edge & Node. A **deployed** Subgraph is free to use, rate-limited, not visible to the public, and meant to be used for development, staging, and testing purposes.
96100

97-
Authenticate and deploy your Subgraph. The deploy key can be found on the Subgraph's page in Subgraph Studio.
101+
> [!IMPORTANT] You do not need to use Subgraph Studio to publish your Subgraph to The Graph Network. Studio is only required for testing and staging your Subgraph prior to publishing.
102+
103+
1. Get your deploy key from the Subgraph page in Studio
98104

99105
![Deploy key](/img/subgraph-studio-deploy-key.jpg)
100106

101-
```sh
107+
2. Authenticate:
102108

103-
graph auth <DEPLOY_KEY>
109+
```sh
104110

105-
graph deploy <SUBGRAPH_SLUG>
106-
```
111+
graph auth <DEPLOY_KEY>
112+
```
107113

108-
### 6. Review your Subgraph
114+
3. Deploy:
109115

110-
If you’d like to test your Subgraph before publishing it, you can use [Subgraph Studio](https://thegraph.com/studio/) to do the following:
116+
```sh
117+
graph deploy <SUBGRAPH_SLUG>
118+
```
119+
120+
### 7. Review in Studio
121+
122+
Use the Studio to:
111123

112124
- Run a sample query.
113125
- Analyze your Subgraph in the dashboard to check information.
114126
- Check the logs on the dashboard to see if there are any errors with your Subgraph. The logs of an operational Subgraph will look like this:
115127

116128
![Subgraph logs](/img/subgraph-logs-image.png)
117129

118-
### 7. Publish your Subgraph to The Graph Network
130+
### 8. Publish to The Graph Network
119131

120132
When your Subgraph is ready for a production environment, you can publish it to the decentralized network. Publishing is an onchain action that does the following:
121133

122134
- It makes your Subgraph available to be indexed by the decentralized [Indexers](/indexing/overview/) on The Graph Network.
123135
- It removes rate limits and makes your Subgraph publicly searchable and queryable in [Graph Explorer](https://thegraph.com/explorer/).
124136
- It makes your Subgraph available for [Curators](/resources/roles/curating/) to add curation signal.
125137

126-
To publish your Subgraph, click the Publish button in the dashboard and select your network.
138+
1. Click **Publish** in Studio
139+
2. Select network
140+
3. (Recommended) Add curation during the same transaction to save on gas costs: ![Subgraph publish](/img/studio-publish-modal.png)
127141

128142
![Publish a Subgraph on Subgraph Studio](/img/publish-sub-transfer.png)
129143

130-
> It is recommended that you curate your own Subgraph with at least 3,000 GRT to incentivize indexing.
144+
> Curation with 3,000+ GRT is recommended to incentivize indexing.
145+
146+
## Path 2: CLI Approach
147+
148+
1. Open the `graph-cli`.
149+
2. Run the following commands to build and publish your Subgraph: `graph codegen && graph build` then `graph publish`.
150+
3. A browser window will prompt you to connect your wallet, add metadata, and publish your Subgraph to the network of your choice.
151+
152+
![cli-ui](/img/cli-ui.png)
131153

132-
To save on gas costs, you can curate your Subgraph in the same transaction you publish it by selecting this option:
154+
### Custom Options
155+
156+
You can customize the deployment by uploading to a specific IPFS node and using additional flags:
157+
158+
```
159+
USAGE
160+
$ graph publish [SUBGRAPH-MANIFEST] [-h] [--protocol-network arbitrum-one|arbitrum-sepolia --subgraph-id <value>] [-i <value>] [--ipfs-hash <value>] [--webapp-url
161+
<value>]
162+
163+
FLAGS
164+
-h, --help Show CLI help.
165+
-i, --ipfs=<value> [default: https://ipfs.thegraph.com/api/v0] Upload build results to an IPFS node.
166+
--ipfs-hash=<value> IPFS hash of the subgraph manifest to deploy.
167+
--protocol-network=<option> [default: arbitrum-one] The network to use for the subgraph deployment.
168+
<options: arbitrum-one|arbitrum-sepolia>
169+
--subgraph-id=<value> Subgraph ID to publish to.
170+
--webapp-url=<value> [default: https://cli.thegraph.com/publish] URL of the web UI you want to use to deploy.
171+
172+
```
133173

134-
![Subgraph publish](/img/studio-publish-modal.png)
174+
> [!NOTE] Add GRT signal to your Subgraph to incentivize Indexers to query your Subgraph. Refer to [Adding Signal](developing/publishing/publishing-a-subgraph/#adding-signal-to-your-subgraph) for specifics.
135175
136-
### 8. Query your Subgraph
176+
### Final Step: Query your Subgraph
137177

138-
You now have access to 100,000 free queries per month with your Subgraph on The Graph Network!
178+
After publishing, access your Subgraph's Query URL from [Graph Explorer](https://thegraph.com/explorer/). You can query your Subgraph by sending GraphQL queries to its Query URL, which you can find by clicking the Query button.
139179

140-
You can query your Subgraph by sending GraphQL queries to its Query URL, which you can find by clicking the Query button.
180+
You get access to 100,000 free queries/month with your Subgraph on The Graph Network.
141181

142-
For more information about querying data from your Subgraph, read [Querying The Graph](/subgraphs/querying/introduction/).
182+
Refer to [Querying The Graph](/subgraphs/querying/introduction/) to structure GraphQL queries.

0 commit comments

Comments
 (0)