Snabbstart
Reading time: 5 min
This guide will quickly take you through how to initialize, create, and deploy your subgraph to Subgraph Studio.
Se till att din subgraf kommer att indexera data från ett [nätverk som stöds] (/developing/supported-networks).
Den här guiden är skriven förutsatt att du har:
- En kryptoplånbok
- En smart kontraktsadress på det nätverk du väljer
Go to the and connect your wallet.
Once your wallet is connected, you can begin by clicking “Create a Subgraph." It is recommended to name the subgraph in Title Case: "Subgraph Name Chain Name."
The Graph CLI is written in TypeScript and you will need to have node
and either npm
or yarn
installed to use it. Check that you have the most recent CLI version installed.
Kör ett av följande kommandon på din lokala dator:
npm install -g @graphprotocol/graph-cli@latest
yarn global add @graphprotocol/graph-cli
Initialize your subgraph from an existing contract by running the initialize command:
graph init --studio <SUBGRAPH_SLUG>
När du initierar din subgraf kommer CLI verktyget att be dig om följande information:
- Protokoll: välj det protokoll som din subgraf ska indexera data från
- Subgragh slug: skapa ett namn för din subgraf. Din subgraf snigel är en identifierare för din subgraf.
- Katalog att skapa subgrafen i: välj din lokala katalog
- Ethereum nätverk (valfritt): du kan behöva ange vilket EVM kompatibelt nätverk din subgraf kommer att indexera data från
- Kontraktsadress: Leta upp den smarta kontraktsadress som du vill fråga data från
- ABI: Om ABI inte fylls i automatiskt måste du mata in det manuellt som en JSON fil
- Startblock: det föreslås att du matar in startblocket för att spara tid medan din subgraf indexerar blockkedjedata. Du kan hitta startblocket genom att hitta blocket där ditt kontrakt distribuerades.
- Kontraktsnamn: ange namnet på ditt kontrakt
- Indexera kontraktshändelser som entiteter: det föreslås att du ställer in detta till sant eftersom det automatiskt lägger till mappningar till din subgraf för varje emitterad händelse
- Lägg till ett annat kontrakt (valfritt): du kan lägga till ett annat kontrakt
Se följande skärmdump för ett exempel för vad du kan förvänta dig när du initierar din subgraf:
De tidigare kommandona skapar en ställnings undergraf som du kan använda som utgångspunkt för att bygga din undergraf. När du gör ändringar i subgrafen kommer du huvudsakligen att arbeta med tre filer:
- Manifest (
subgraph.yaml
) - The manifest defines what datasources your subgraphs will index. - Schema (
schema.graphql
) - The GraphQL schema defines what data you wish to retrieve from the subgraph. - AssemblyScript Mappings (
mapping.ts
) - This is the code that translates data from your datasources to the entities defined in the schema.
For more information on how to write your subgraph, see .
När din subgraf är skriven, kör följande kommandon:
$ graph codegen$ graph build
- Autentisera och distribuera din subgraf. Implementeringsnyckeln finns på Subgraph sidan i Subgraph Studio.
$ graph auth --studio <DEPLOY_KEY>$ graph deploy --studio <SUBGRAPH_SLUG>
You will be asked for a version label. It's strongly recommended to use for versioning like 0.0.1
. That said, you are free to choose any string as version such as:v1
, version1
, asdf
.
In Subgraph Studio's playground environment, you can test your subgraph by making a sample query.
Loggarna kommer att berätta om det finns några fel med din subgraf. Loggarna för en operativ subgraf kommer att se ut så här:
If your subgraph is failing, you can query the subgraph health by using the GraphiQL Playground. Note that you can leverage the query below and input your deployment ID for your subgraph. In this case, Qm...
is the deployment ID (which can be located on the Subgraph page under Details). The query below will tell you when a subgraph fails, so you can debug accordingly:
{indexingStatuses(subgraphs: ["Qm..."]) {nodesyncedhealthfatalError {messageblock {numberhash}handler}nonFatalErrors {messageblock {numberhash}handler}chains {networkchainHeadBlock {number}earliestBlock {number}latestBlock {number}lastHealthyBlock {number}}entityCount}}
Once your subgraph has been deployed to Subgraph Studio, you have tested it out, and you are ready to put it into production, you can then publish it to the decentralized network.
In Subgraph Studio, you will be able to click the publish button on the top right of your subgraph's page.
Select the network you would like to publish your subgraph to. It is recommended to publish subgraphs to Arbitrum One to take advantage of the .
The (upgrade Indexer)[/sunrise/#about-the-upgrade-indexer] will begin serving queries on your subgraph regardless of subgraph curation, and it will provide you with 100,000 free queries per month.
For a higher quality of service and stronger redundancy, you can curate your subgraph to attract more Indexers. At the time of writing, it is recommended that you curate your own subgraph with at least 3,000 GRT to ensure 3-5 additional Indexers begin serving queries on your subgraph.
För att spara på gaskostnaderna kan du kurera din subgraf i samma transaktion som du publicerade den genom att välja den här knappen när du publicerar din subgraf till The Graphs decentraliserade nätverk:
Nu kan du fråga din subgraf genom att skicka GraphQL frågor till din subgrafs fråge URL, som du kan hitta genom att klicka på frågeknappen.
If you don't have your API key, you can query via the free, rate-limited development query URL, which can be used for development and staging.
For more information about querying data from your subgraph, read more .